1#ifndef SOURCEMETA_CORE_OIDC_REGISTRATION_H_
2#define SOURCEMETA_CORE_OIDC_REGISTRATION_H_
4#ifndef SOURCEMETA_CORE_OIDC_EXPORT
5#include <sourcemeta/core/oidc_export.h>
8#include <sourcemeta/core/json.h>
9#include <sourcemeta/core/oauth.h>
16namespace sourcemeta::core {
19#pragma warning(disable : 4251)
53 -> std::optional<OIDCClientMetadata>;
66 [[nodiscard]] auto
subject_type() const -> std::optional<std::string_view>;
71 -> std::optional<std::string_view>;
80 -> std::optional<std::string_view>;
85 -> std::optional<std::string_view>;
90 -> std::optional<std::chrono::seconds>;
99 -> std::optional<std::string_view>;
117#pragma warning(default : 4251)
139SOURCEMETA_CORE_OIDC_EXPORT
141 const JSON §or_document,
142 const std::span<const std::string_view> redirect_uris) -> bool;
auto id_token_encrypted_response_alg() const -> std::optional< std::string_view >
auto has_post_logout_redirect_uri(const std::string_view value) const -> bool
auto userinfo_signed_response_alg() const -> std::optional< std::string_view >
auto id_token_signed_response_alg() const -> std::string_view
auto has_redirect_uri(const std::string_view value) const -> bool
static auto from(JSON &&data) -> std::optional< OIDCClientMetadata >
auto application_type() const -> std::string_view
auto subject_type() const -> std::optional< std::string_view >
auto default_max_age() const -> std::optional< std::chrono::seconds >
auto data() const -> const JSON &
The underlying document, for reaching members without a typed accessor.
OIDCClientMetadata(JSON &&data)
auto oauth() const -> const OAuthClientMetadata &
The underlying OAuth client registration this document is a superset of.
auto require_auth_time() const -> bool
auto sector_identifier_uri() const -> std::optional< std::string_view >
auto initiate_login_uri() const -> std::optional< std::string_view >
SOURCEMETA_CORE_OIDC_EXPORT auto oidc_sector_identifier_contains(const JSON §or_document, const std::span< const std::string_view > redirect_uris) -> bool