Sourcemeta Core 0.0.0
Loading...
Searching...
No Matches
oidc_request_object.h
1#ifndef SOURCEMETA_CORE_OIDC_REQUEST_OBJECT_H_
2#define SOURCEMETA_CORE_OIDC_REQUEST_OBJECT_H_
3
4#ifndef SOURCEMETA_CORE_OIDC_EXPORT
5#include <sourcemeta/core/oidc_export.h>
6#endif
7
8#include <sourcemeta/core/jose.h>
9#include <sourcemeta/core/json.h>
10
11#include <optional> // std::optional
12#include <span> // std::span
13#include <string> // std::string
14#include <string_view> // std::string_view
15
16namespace sourcemeta::core {
17
32SOURCEMETA_CORE_OIDC_EXPORT
33auto oidc_request_object_pairing_is_valid(const std::string_view request,
34 const std::string_view request_uri)
35 -> bool;
36
54SOURCEMETA_CORE_OIDC_EXPORT
55auto oidc_build_request_object(const JSON &parameters, const JWKPrivate &key,
56 const JWSAlgorithm algorithm)
57 -> std::optional<std::string>;
58
80SOURCEMETA_CORE_OIDC_EXPORT
82 const JWT &token, const JWKS &keys,
83 const std::span<const JWSAlgorithm> allowed_algorithms,
84 const std::string_view client_id, const std::string_view provider_issuer)
85 -> std::optional<JSON>;
86
87} // namespace sourcemeta::core
88
89#endif
Definition jose_jwk_private.h:35
Definition jose_jwks.h:40
Definition jose_jwt.h:38
JWSAlgorithm
Definition jose_algorithm.h:21
Definition json_value.h:39
SOURCEMETA_CORE_OIDC_EXPORT auto oidc_build_request_object(const JSON &parameters, const JWKPrivate &key, const JWSAlgorithm algorithm) -> std::optional< std::string >
SOURCEMETA_CORE_OIDC_EXPORT auto oidc_request_object_pairing_is_valid(const std::string_view request, const std::string_view request_uri) -> bool
SOURCEMETA_CORE_OIDC_EXPORT auto oidc_verify_request_object(const JWT &token, const JWKS &keys, const std::span< const JWSAlgorithm > allowed_algorithms, const std::string_view client_id, const std::string_view provider_issuer) -> std::optional< JSON >