Goby3
3.1.5a
2024.05.23
|
JSON Web Token. More...
Namespaces | |
algorithm | |
Various cryptographic algorithms when working with JWT. | |
alphabet | |
character maps when encoding and decoding | |
details | |
error | |
Everything related to error codes issued by the library. | |
helper | |
A collection for working with certificates. | |
json | |
JSON Abstractions for working with any library. | |
traits | |
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 More... | |
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 () |
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 |
|
inline |
|
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 = {} | ) |