Goby3 3.2.3
2025.05.13
|
JSON Web Token. More...
Namespaces | |
namespace | algorithm |
Various cryptographic algorithms when working with JWT. | |
namespace | alphabet |
character maps when encoding and decoding | |
namespace | details |
namespace | error |
Everything related to error codes issued by the library. | |
namespace | helper |
A collection for working with certificates. | |
namespace | json |
JSON Abstractions for working with any library. | |
namespace | traits |
namespace | verify_ops |
Classes | |
class | base |
Alphabet generic methods for working with encoding/decoding the base64 family. More... | |
class | basic_claim |
a class to store a generic JSON value as claim More... | |
class | builder |
class | decoded_jwt |
struct | default_clock |
class | header |
class | jwk |
JSON Web Key. More... | |
class | jwks |
JWK Set. More... | |
class | payload |
class | verifier |
Typedefs | |
using | date = std::chrono::system_clock::time_point |
using | claim = basic_claim< traits::nlohmann_json > |
a class to store a generic JSON for Modern C++ value as claim | |
Functions | |
template<typename Clock , typename json_traits > | |
verifier< Clock, json_traits > | verify (Clock c) |
template<typename json_traits > | |
verifier< default_clock, json_traits > | verify (default_clock c={}) |
template<typename json_traits > | |
builder< json_traits > | create () |
template<typename json_traits , typename Decode > | |
decoded_jwt< json_traits > | decode (const typename json_traits::string_type &token, Decode decode) |
template<typename json_traits > | |
decoded_jwt< json_traits > | decode (const typename json_traits::string_type &token) |
template<typename json_traits > | |
jwk< json_traits > | parse_jwk (const typename json_traits::string_type &token) |
template<typename json_traits > | |
jwks< json_traits > | parse_jwks (const typename json_traits::string_type &token) |
verifier< default_clock, traits::nlohmann_json > | verify () |
builder< traits::nlohmann_json > | create () |
decoded_jwt< traits::nlohmann_json > | decode (const std::string &token) |
template<typename Decode > | |
decoded_jwt< traits::nlohmann_json > | decode (const std::string &token, Decode decode) |
jwk< traits::nlohmann_json > | parse_jwk (const traits::nlohmann_json::string_type &token) |
jwks< traits::nlohmann_json > | parse_jwks (const traits::nlohmann_json::string_type &token) |
JSON Web Token.
A namespace to contain everything related to handling JSON Web Tokens, JWT for short, as a part of RFC7519, or alternatively for JWS (JSON Web Signature) from RFC7515
using jwt::claim = typedef basic_claim<traits::nlohmann_json> |
a class to store a generic JSON for Modern C++ value as claim
This type is the specialization of the basic_claim class which uses the standard template types.
Definition at line 18 of file defaults.h.
using jwt::date = typedef std::chrono::system_clock::time_point |
builder< json_traits > jwt::create | ( | ) |
|
inline |
Return a builder instance to create a new token
Definition at line 32 of file defaults.h.
|
inline |
Decode a token
token | Token to decode |
std::invalid_argument | Token is not in correct format |
std::runtime_error | Base64 decoding failed or invalid json |
Definition at line 42 of file defaults.h.
decoded_jwt< traits::nlohmann_json > jwt::decode | ( | const std::string & | token, |
Decode | decode | ||
) |
Decode a token
Decode | is callabled, taking a string_type and returns a string_type. It should ensure the padding of the input and then base64url decode and return the results. |
token | Token to decode |
decode | The token to parse |
std::invalid_argument | Token is not in correct format |
std::runtime_error | Base64 decoding failed or invalid json |
Definition at line 60 of file defaults.h.
decoded_jwt< json_traits > jwt::decode | ( | const typename json_traits::string_type & | token | ) |
decoded_jwt< json_traits > jwt::decode | ( | const typename json_traits::string_type & | token, |
Decode | decode | ||
) |
|
inline |
Parse a jwk
token | JWK Token to parse |
std::runtime_error | Token is not in correct format |
Definition at line 71 of file defaults.h.
jwk< json_traits > jwt::parse_jwk | ( | const typename json_traits::string_type & | token | ) |
|
inline |
Parse a jwks
token | JWKs Token to parse |
std::runtime_error | Token is not in correct format |
Definition at line 82 of file defaults.h.
jwks< json_traits > jwt::parse_jwks | ( | const typename json_traits::string_type & | token | ) |
|
inline |
Create a verifier using the default clock
Definition at line 24 of file defaults.h.
verifier< Clock, json_traits > jwt::verify | ( | Clock | c | ) |
verifier< default_clock, json_traits > jwt::verify | ( | default_clock | c = {} | ) |