Zephyr Project API 4.0.0
A Scalable Open Source RTOS
|
JSON Web Token (JWT) - RFC 7519. More...
Data Structures | |
struct | jwt_builder |
JWT data tracking. More... | |
Functions | |
int | jwt_init_builder (struct jwt_builder *builder, char *buffer, size_t buffer_size) |
Initialize the JWT builder. | |
int | jwt_add_payload (struct jwt_builder *builder, int32_t exp, int32_t iat, const char *aud) |
Add JWT payload. | |
int | jwt_sign (struct jwt_builder *builder, const char *der_key, size_t der_key_len) |
Sign the JWT. | |
JSON Web Token (JWT) - RFC 7519.
int jwt_add_payload | ( | struct jwt_builder * | builder, |
int32_t | exp, | ||
int32_t | iat, | ||
const char * | aud | ||
) |
#include <include/zephyr/data/jwt.h>
Add JWT payload.
Add JWT payload to a previously initialized builder with the following fields:
See RFC 7519 section 4.1 to get more information about these fields.
builder | A previously initialized builder. |
exp | Expiration Time (epoch format). |
iat | Issued At (epoch format). |
aud | Audience. |
0 | Success. |
<0 | Failure. |
int jwt_init_builder | ( | struct jwt_builder * | builder, |
char * | buffer, | ||
size_t | buffer_size | ||
) |
#include <include/zephyr/data/jwt.h>
Initialize the JWT builder.
Initialize the given JWT builder for the creation of a fresh token. The buffer size should be long enough to store the entire token.
builder | The builder to initialize. |
buffer | The buffer to write the token to. |
buffer_size | The size of this buffer. The token will be NULL terminated, which needs to be allowed for in this size. |
0 | Success. |
-ENOSPC | Buffer is insufficient to initialize. |
int jwt_sign | ( | struct jwt_builder * | builder, |
const char * | der_key, | ||
size_t | der_key_len | ||
) |
#include <include/zephyr/data/jwt.h>
Sign the JWT.
Sign a previously initialized with payload JWT.
builder | A previously initialized builder with payload. |
der_key | Private key to use in DER format. |
der_key_len | Size of the private key in bytes. |
0 | Success. |
<0 | Failure. |