libwebsockets
Lightweight C library for HTML5 websockets
Toggle main menu visibility
Loading...
Searching...
No Matches
lws-jwt-auth.h
Go to the documentation of this file.
1
/*
2
* libwebsockets - small server side websockets and web server implementation
3
*
4
* Copyright (C) 2010 - 2026 Andy Green <andy@warmcat.com>
5
*
6
* Permission is hereby granted, free of charge, to any person obtaining a copy
7
* of this software and associated documentation files (the "Software"), to
8
* deal in the Software without restriction, including without limitation the
9
* rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
10
* sell copies of the Software, and to permit persons to whom the Software is
11
* furnished to do so, subject to the following conditions:
12
*
13
* The above copyright notice and this permission notice shall be included in
14
* all copies or substantial portions of the Software.
15
*/
16
17
#if !defined(_LWS_JWT_AUTH_H_)
18
#define _LWS_JWT_AUTH_H_
19
20
#define LWS_SSO_MAX_COOKIE 4096
21
struct
lws_jwt_auth;
22
23
/* States emitted via the callback */
24
#define LWS_JWT_AUTH_STATE_REAUTH 1
25
#define LWS_JWT_AUTH_STATE_EXPIRED 2
26
27
typedef
int (*
lws_jwt_auth_cb_t
)(
struct
lws_jwt_auth *ja,
int
state,
void
*user);
28
44
LWS_VISIBLE
LWS_EXTERN
struct
lws_jwt_auth *
45
lws_jwt_auth_create
(
struct
lws *wsi,
struct
lws_jwk
*jwk,
46
const
char
*cookie_name,
47
lws_jwt_auth_cb_t
cb,
void
*user);
48
58
LWS_VISIBLE
LWS_EXTERN
int
59
lws_jwt_auth_query_grant
(
struct
lws_jwt_auth *ja,
const
char
*service_name);
60
69
LWS_VISIBLE
LWS_EXTERN
const
char
*
70
lws_jwt_auth_get_sub
(
struct
lws_jwt_auth *ja);
71
79
LWS_VISIBLE
LWS_EXTERN
const
char
*
80
lws_jwt_auth_get_did
(
struct
lws_jwt_auth *ja);
81
89
LWS_VISIBLE
LWS_EXTERN
uint32_t
90
lws_jwt_auth_get_uid
(
struct
lws_jwt_auth *ja);
91
99
LWS_VISIBLE
LWS_EXTERN
uint64_t
100
lws_jwt_auth_get_exp
(
struct
lws_jwt_auth *ja);
101
109
LWS_VISIBLE
LWS_EXTERN
uint32_t
110
lws_jwt_auth_get_sec
(
struct
lws_jwt_auth *ja);
111
117
LWS_VISIBLE
LWS_EXTERN
uint32_t
118
lws_jwt_auth_count_grants
(
struct
lws_jwt_auth *ja);
119
129
LWS_VISIBLE
LWS_EXTERN
int
130
lws_jwt_auth_update
(
struct
lws_jwt_auth *ja,
const
char
*jwt);
131
137
LWS_VISIBLE
LWS_EXTERN
void
138
lws_jwt_auth_destroy
(
struct
lws_jwt_auth **ja);
139
140
#endif
/* _LWS_JWT_AUTH_H_ */
lws_jwk
Definition
lws-jwk.h:50
uint32_t
unsigned int uint32_t
Definition
libwebsockets.h:704
LWS_EXTERN
#define LWS_EXTERN
Definition
libwebsockets.h:296
LWS_VISIBLE
#define LWS_VISIBLE
Definition
libwebsockets.h:291
lws_jwt_auth_cb_t
int(* lws_jwt_auth_cb_t)(struct lws_jwt_auth *ja, int state, void *user)
Definition
lws-jwt-auth.h:27
lws_jwt_auth_update
LWS_VISIBLE LWS_EXTERN int lws_jwt_auth_update(struct lws_jwt_auth *ja, const char *jwt)
lws_jwt_auth_get_sec
LWS_VISIBLE LWS_EXTERN uint32_t lws_jwt_auth_get_sec(struct lws_jwt_auth *ja)
lws_jwt_auth_get_uid
LWS_VISIBLE LWS_EXTERN uint32_t lws_jwt_auth_get_uid(struct lws_jwt_auth *ja)
lws_jwt_auth_get_exp
LWS_VISIBLE LWS_EXTERN uint64_t lws_jwt_auth_get_exp(struct lws_jwt_auth *ja)
lws_jwt_auth_query_grant
LWS_VISIBLE LWS_EXTERN int lws_jwt_auth_query_grant(struct lws_jwt_auth *ja, const char *service_name)
lws_jwt_auth_get_did
LWS_VISIBLE LWS_EXTERN const char * lws_jwt_auth_get_did(struct lws_jwt_auth *ja)
lws_jwt_auth_get_sub
LWS_VISIBLE LWS_EXTERN const char * lws_jwt_auth_get_sub(struct lws_jwt_auth *ja)
lws_jwt_auth_create
LWS_VISIBLE LWS_EXTERN struct lws_jwt_auth * lws_jwt_auth_create(struct lws *wsi, struct lws_jwk *jwk, const char *cookie_name, lws_jwt_auth_cb_t cb, void *user)
lws_jwt_auth_count_grants
LWS_VISIBLE LWS_EXTERN uint32_t lws_jwt_auth_count_grants(struct lws_jwt_auth *ja)
lws_jwt_auth_destroy
LWS_VISIBLE LWS_EXTERN void lws_jwt_auth_destroy(struct lws_jwt_auth **ja)
include
libwebsockets
lws-jwt-auth.h
Generated on
for libwebsockets by
1.18.0