10Duke Enterprise C++ SDK
Toggle main menu visibility
Loading...
Searching...
No Matches
BaseOIDCClient.h
1
#ifndef TENDUKE_OIDC_BASEOIDCCLIENT_H
2
#define TENDUKE_OIDC_BASEOIDCCLIENT_H
3
4
#include "../OIDCClient.h"
5
#include "../OIDCRefreshRequest.h"
6
#include "../OIDCConfiguration.h"
7
#include "../OIDCConfiguration.h"
8
#include "../../oauth/OAuthClient.h"
9
10
#include "http/HTTPClient.h"
11
#include "jwt/JWTParser.h"
12
13
#include <memory>
14
15
namespace
tenduke
{
namespace
oidc
{
16
17
21
class
BaseOIDCClient
:
public
virtual
tenduke::oidc::OIDCClient
22
{
23
public
:
31
BaseOIDCClient
(
32
const
std::shared_ptr<const tenduke::oidc::OIDCConfiguration> &
oidcConfiguration
,
33
const
std::shared_ptr<const tenduke::oauth::OAuthClient> &oauthClient,
34
const
std::shared_ptr<const tenduke::jwt::JWTParser> &jwtParser,
35
const
std::shared_ptr<const tenduke::http::HTTPClient> &httpClient
36
);
37
43
std::unique_ptr<const tenduke::oidc::OIDCRefreshRequest>
refresh
(
const
std::shared_ptr<tenduke::oidc::OIDCState>& state)
const override
;
44
56
std::string
requestUserinfo
(
const
std::string &accessToken)
const override
;
57
58
protected
:
64
static
std::string
ensureOpenIDScope
(
const
std::string &scopes);
65
66
private
:
67
const
std::shared_ptr<const tenduke::oauth::OAuthClient> oauthClient;
68
69
protected
:
71
const
std::shared_ptr<const tenduke::oidc::OIDCConfiguration>
oidcConfiguration
;
73
const
std::shared_ptr<const tenduke::jwt::JWTParser>
parseJWT
;
75
const
std::shared_ptr<const tenduke::http::HTTPClient>
http
;
76
};
77
78
79
}}
80
81
#endif
// TENDUKE_OIDC_BASEOIDCCLIENT_H
tenduke::oidc::BaseOIDCClient::ensureOpenIDScope
static std::string ensureOpenIDScope(const std::string &scopes)
Checks if provided scopes have openid among them.
Definition
BaseOIDCClient.cpp:81
tenduke::oidc::BaseOIDCClient::http
const std::shared_ptr< const tenduke::http::HTTPClient > http
HTTP-client.
Definition
BaseOIDCClient.h:75
tenduke::oidc::BaseOIDCClient::BaseOIDCClient
BaseOIDCClient(const std::shared_ptr< const tenduke::oidc::OIDCConfiguration > &oidcConfiguration, const std::shared_ptr< const tenduke::oauth::OAuthClient > &oauthClient, const std::shared_ptr< const tenduke::jwt::JWTParser > &jwtParser, const std::shared_ptr< const tenduke::http::HTTPClient > &httpClient)
Constructs new instance.
Definition
BaseOIDCClient.cpp:95
tenduke::oidc::BaseOIDCClient::refresh
std::unique_ptr< const tenduke::oidc::OIDCRefreshRequest > refresh(const std::shared_ptr< tenduke::oidc::OIDCState > &state) const override
Refreshes the OIDC state.
Definition
BaseOIDCClient.cpp:52
tenduke::oidc::BaseOIDCClient::oidcConfiguration
const std::shared_ptr< const tenduke::oidc::OIDCConfiguration > oidcConfiguration
OIDC-configuration.
Definition
BaseOIDCClient.h:71
tenduke::oidc::BaseOIDCClient::requestUserinfo
std::string requestUserinfo(const std::string &accessToken) const override
Requests user information from "userinfo"-endpoint.
Definition
BaseOIDCClient.cpp:63
tenduke::oidc::BaseOIDCClient::parseJWT
const std::shared_ptr< const tenduke::jwt::JWTParser > parseJWT
JWT-parse for parsing ID-token.
Definition
BaseOIDCClient.h:73
tenduke::oidc::OIDCClient
OpenID Connect -client.
Definition
OIDCClient.h:22
tenduke::oidc
Implementation of OpenID Connect protocol.
Definition
AutoDiscovery.h:18
tenduke
Root for classes, functions and globals of 10Duke C++ Client.
Definition
APIRequest.h:4
core
oidc
core
src
oidc
impl
BaseOIDCClient.h
Generated by
1.17.0