1#ifndef SOURCEMETA_CORE_OAUTH_CLIENT_AUTHENTICATION_H_
2#define SOURCEMETA_CORE_OAUTH_CLIENT_AUTHENTICATION_H_
4#ifndef SOURCEMETA_CORE_OAUTH_EXPORT
5#include <sourcemeta/core/oauth_export.h>
8#include <sourcemeta/core/crypto.h>
13namespace sourcemeta::core {
31SOURCEMETA_CORE_OAUTH_EXPORT
33 const std::string_view client_secret,
51SOURCEMETA_CORE_OAUTH_EXPORT
53 const std::string_view client_secret,
70SOURCEMETA_CORE_OAUTH_EXPORT
142SOURCEMETA_CORE_OAUTH_EXPORT
144 const std::string_view body,
@ None
The cookie is sent on every cross-site request.
Definition http.h:273
@ Public
A globally reachable address.
Definition ip.h:58
OAuthClientAuthenticationMethod method
The mechanism the request presented.
Definition oauth_client_authentication.h:99
std::string_view client_secret
The client secret, present only for Basic and Post.
Definition oauth_client_authentication.h:103
std::string_view assertion
The assertion, present only for Assertion (RFC 7521 Section 4.2).
Definition oauth_client_authentication.h:107
std::string_view client_id
The client identifier.
Definition oauth_client_authentication.h:101
std::string_view assertion_type
The assertion type, present only for Assertion (RFC 7521 Section 4.2).
Definition oauth_client_authentication.h:105
SOURCEMETA_CORE_OAUTH_EXPORT auto oauth_client_id_only(const std::string_view client_id, SecureString &sink) -> void
SOURCEMETA_CORE_OAUTH_EXPORT auto oauth_parse_client_authentication(const std::string_view authorization, const std::string_view body, SecureString &storage, OAuthClientCredentials &credentials) -> bool
SOURCEMETA_CORE_OAUTH_EXPORT auto oauth_client_secret_post(const std::string_view client_id, const std::string_view client_secret, SecureString &sink) -> void
SOURCEMETA_CORE_OAUTH_EXPORT auto oauth_client_secret_basic(const std::string_view client_id, const std::string_view client_secret, SecureString &sink) -> void
OAuthClientAuthenticationMethod
Definition oauth_client_authentication.h:79
@ Post
A client_secret in the request body (RFC 6749 Section 2.3.1).
Definition oauth_client_authentication.h:85
@ Assertion
A client_assertion and its type (RFC 7521 Section 4.2).
Definition oauth_client_authentication.h:90
@ Basic
An HTTP Basic credential (RFC 6749 Section 2.3.1).
Definition oauth_client_authentication.h:83