1#ifndef SOURCEMETA_CORE_OIDC_LOGOUT_H_
2#define SOURCEMETA_CORE_OIDC_LOGOUT_H_
4#ifndef SOURCEMETA_CORE_OIDC_EXPORT
5#include <sourcemeta/core/oidc_export.h>
8#include <sourcemeta/core/jose.h>
15namespace sourcemeta::core {
58SOURCEMETA_CORE_OIDC_EXPORT
87SOURCEMETA_CORE_OIDC_EXPORT
89 const JWT &token,
const JWKS &keys,
90 const std::span<const JWSAlgorithm> allowed_algorithms,
91 const std::string_view issuer,
const std::string_view client_id,
92 const std::chrono::system_clock::time_point now,
109SOURCEMETA_CORE_OIDC_EXPORT
111 const std::string_view session_id)
128SOURCEMETA_CORE_OIDC_EXPORT
130 const std::string_view origin,
131 const std::string_view provider_browser_state,
132 const std::string_view salt) -> std::string;
std::string_view logout_hint
Definition oidc_logout.h:26
std::string_view post_logout_redirect_uri
Definition oidc_logout.h:31
std::string_view client_id
The client identifier (OpenID Connect RP-Initiated Logout 1.0 Section 2).
Definition oidc_logout.h:28
std::string_view state
Definition oidc_logout.h:34
std::string_view id_token_hint
Definition oidc_logout.h:23
std::string_view ui_locales
Definition oidc_logout.h:37
SOURCEMETA_CORE_OIDC_EXPORT auto oidc_build_logout_url(const std::string_view end_session_endpoint, const OIDCLogoutRequest &request, std::string &sink) -> void
SOURCEMETA_CORE_OIDC_EXPORT auto oidc_validate_logout_token(const JWT &token, const JWKS &keys, const std::span< const JWSAlgorithm > allowed_algorithms, const std::string_view issuer, const std::string_view client_id, const std::chrono::system_clock::time_point now, const JWTClockSkew clock_skew={}) -> bool
SOURCEMETA_CORE_OIDC_EXPORT auto oidc_front_channel_pairing_is_valid(const std::string_view issuer, const std::string_view session_id) -> bool
SOURCEMETA_CORE_OIDC_EXPORT auto oidc_session_state(const std::string_view client_id, const std::string_view origin, const std::string_view provider_browser_state, const std::string_view salt) -> std::string