Sourcemeta Core 0.0.0
Loading...
Searching...
No Matches
oidc_subject.h
1#ifndef SOURCEMETA_CORE_OIDC_SUBJECT_H_
2#define SOURCEMETA_CORE_OIDC_SUBJECT_H_
3
4#ifndef SOURCEMETA_CORE_OIDC_EXPORT
5#include <sourcemeta/core/oidc_export.h>
6#endif
7
8#include <cstdint> // std::uint8_t
9#include <optional> // std::optional
10#include <string> // std::string
11#include <string_view> // std::string_view
12
13namespace sourcemeta::core {
14
19enum class OIDCSubjectType : std::uint8_t {
26};
27
39SOURCEMETA_CORE_OIDC_EXPORT
40auto oidc_subject_type_name(const OIDCSubjectType type) noexcept
41 -> std::string_view;
42
53SOURCEMETA_CORE_OIDC_EXPORT
54auto to_oidc_subject_type(const std::string_view name) noexcept
55 -> std::optional<OIDCSubjectType>;
56
74SOURCEMETA_CORE_OIDC_EXPORT
75auto oidc_pairwise_subject(const std::string_view sector_identifier,
76 const std::string_view local_account_identifier,
77 const std::string_view provider_secret)
78 -> std::string;
79
80} // namespace sourcemeta::core
81
82#endif
@ Public
A globally reachable address.
Definition ip.h:58
SOURCEMETA_CORE_OIDC_EXPORT auto to_oidc_subject_type(const std::string_view name) noexcept -> std::optional< OIDCSubjectType >
OIDCSubjectType
Definition oidc_subject.h:19
SOURCEMETA_CORE_OIDC_EXPORT auto oidc_subject_type_name(const OIDCSubjectType type) noexcept -> std::string_view
SOURCEMETA_CORE_OIDC_EXPORT auto oidc_pairwise_subject(const std::string_view sector_identifier, const std::string_view local_account_identifier, const std::string_view provider_secret) -> std::string
@ Pairwise
Definition oidc_subject.h:25