1#ifndef SOURCEMETA_CORE_OIDC_REQUEST_OBJECT_H_
2#define SOURCEMETA_CORE_OIDC_REQUEST_OBJECT_H_
4#ifndef SOURCEMETA_CORE_OIDC_EXPORT
5#include <sourcemeta/core/oidc_export.h>
8#include <sourcemeta/core/jose.h>
9#include <sourcemeta/core/json.h>
16namespace sourcemeta::core {
32SOURCEMETA_CORE_OIDC_EXPORT
34 const std::string_view request_uri)
54SOURCEMETA_CORE_OIDC_EXPORT
57 -> std::optional<std::string>;
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>;
JWSAlgorithm
Definition jose_algorithm.h:21
SOURCEMETA_CORE_OIDC_EXPORT auto oidc_build_request_object(const JSON ¶meters, 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 >