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
const
char
**reason);
49
59
LWS_VISIBLE
LWS_EXTERN
int
60
lws_jwt_auth_query_grant
(
struct
lws_jwt_auth *ja,
const
char
*service_name);
61
70
LWS_VISIBLE
LWS_EXTERN
const
char
*
71
lws_jwt_auth_get_sub
(
struct
lws_jwt_auth *ja);
72
80
LWS_VISIBLE
LWS_EXTERN
const
char
*
81
lws_jwt_auth_get_did
(
struct
lws_jwt_auth *ja);
82
90
LWS_VISIBLE
LWS_EXTERN
uint32_t
91
lws_jwt_auth_get_uid
(
struct
lws_jwt_auth *ja);
92
100
LWS_VISIBLE
LWS_EXTERN
uint64_t
101
lws_jwt_auth_get_exp
(
struct
lws_jwt_auth *ja);
102
110
LWS_VISIBLE
LWS_EXTERN
uint32_t
111
lws_jwt_auth_get_sec
(
struct
lws_jwt_auth *ja);
112
118
LWS_VISIBLE
LWS_EXTERN
uint32_t
119
lws_jwt_auth_count_grants
(
struct
lws_jwt_auth *ja);
120
130
LWS_VISIBLE
LWS_EXTERN
int
131
lws_jwt_auth_update
(
struct
lws_jwt_auth *ja,
const
char
*jwt,
const
char
**reason);
132
138
LWS_VISIBLE
LWS_EXTERN
void
139
lws_jwt_auth_destroy
(
struct
lws_jwt_auth **ja);
140
141
#endif
/* _LWS_JWT_AUTH_H_ */
lws_jwk
Definition
lws-jwk.h:50
uint32_t
unsigned int uint32_t
Definition
libwebsockets.h:713
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, const char **reason)
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_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, const char **reason)
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_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