10Duke Scale C++ Client
Loading...
Searching...
No Matches
tenduke::oidc::DefaultOIDCBrowserFlow Class Reference

#include <DefaultOIDCBrowserFlow.h>

Detailed Description

Default implementation of browser-based OIDC-client.

Inheritance diagram for tenduke::oidc::DefaultOIDCBrowserFlow:
tenduke::oidc::BaseOIDCClient tenduke::oidc::OIDCBrowserFlow tenduke::oidc::OIDCClient tenduke::oidc::OIDCClient

Public Member Functions

 DefaultOIDCBrowserFlow (const std::shared_ptr< const tenduke::oidc::OIDCConfiguration > &oidcConfiguration, const std::shared_ptr< const tenduke::oauth::OAuthBrowserFlow > &oauthClient, const std::shared_ptr< tenduke::utl::random::RandomUrlSafeString > &randomUrlSafeString, const std::shared_ptr< const tenduke::jwt::JWTParser > &jwtParser, const std::shared_ptr< const tenduke::http::HTTPClient > &httpClient, size_t nonceLength=DEFAULT_NONCE_LENGTH)
 Constructs new instance.
 
std::unique_ptr< const tenduke::oidc::OIDCBrowserFlowAuthenticationRequestauthenticate (const std::string &scopes) const override
 Creates OIDCRequest which performs the OIDC-authentication.
 
std::unique_ptr< const tenduke::oidc::OIDCBrowserFlowAuthenticationRequestauthenticate (const std::string &scopes, const std::map< std::string, std::string > &additionalParameters) const override
 Creates OIDCRequest which performs the OIDC-authentication.
 
- Public Member Functions inherited from tenduke::oidc::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.
 
std::unique_ptr< const tenduke::oidc::OIDCRefreshRequestrefresh (const std::shared_ptr< tenduke::oidc::OIDCState > &state) const override
 Refreshes the OIDC state.
 
std::string requestUserinfo (const std::string &accessToken) const override
 Requests user information from "userinfo"-endpoint.
 

Static Public Attributes

static const std::size_t DEFAULT_NONCE_LENGTH = 32
 Default nonce length.
 

Protected Member Functions

std::string generateNonce () const
 Generates nonce.
 

Additional Inherited Members

- Static Protected Member Functions inherited from tenduke::oidc::BaseOIDCClient
static std::string ensureOpenIDScope (const std::string &scopes)
 Checks if provided scopes have openid among them.
 
- Protected Attributes inherited from tenduke::oidc::BaseOIDCClient
const std::shared_ptr< const tenduke::oidc::OIDCConfigurationoidcConfiguration
 OIDC-configuration.
 
const std::shared_ptr< const tenduke::jwt::JWTParserparseJWT
 JWT-parse for parsing ID-token.
 
const std::shared_ptr< const tenduke::http::HTTPClienthttp
 HTTP-client.
 

Constructor & Destructor Documentation

◆ DefaultOIDCBrowserFlow()

tenduke::oidc::DefaultOIDCBrowserFlow::DefaultOIDCBrowserFlow ( const std::shared_ptr< const tenduke::oidc::OIDCConfiguration > &  oidcConfiguration,
const std::shared_ptr< const tenduke::oauth::OAuthBrowserFlow > &  oauthClient,
const std::shared_ptr< tenduke::utl::random::RandomUrlSafeString > &  randomUrlSafeString,
const std::shared_ptr< const tenduke::jwt::JWTParser > &  jwtParser,
const std::shared_ptr< const tenduke::http::HTTPClient > &  httpClient,
size_t  nonceLength = DEFAULT_NONCE_LENGTH 
)

Constructs new instance.

Parameters
oidcConfiguration-
oauthClient-
randomUrlSafeString-
jwtParser-
httpClient-
nonceLength-

Member Function Documentation

◆ authenticate() [1/2]

std::unique_ptr< const ::OIDCBrowserFlowAuthenticationRequest > tenduke::oidc::DefaultOIDCBrowserFlow::authenticate ( const std::string &  scopes) const
overridevirtual

Creates OIDCRequest which performs the OIDC-authentication.

Parameters
scopesscopes to authenticate / authorize
Returns
the request

Implements tenduke::oidc::OIDCBrowserFlow.

◆ authenticate() [2/2]

std::unique_ptr< const ::OIDCBrowserFlowAuthenticationRequest > tenduke::oidc::DefaultOIDCBrowserFlow::authenticate ( const std::string &  scopes,
const std::map< std::string, std::string > &  additionalParameters 
) const
overridevirtual

Creates OIDCRequest which performs the OIDC-authentication.

Parameters
scopesscopes to authenticate / authorize
additionalParametersadditional parameters for the request
Returns
the request

Implements tenduke::oidc::OIDCBrowserFlow.

◆ generateNonce()

std::string tenduke::oidc::DefaultOIDCBrowserFlow::generateNonce ( ) const
protected

Generates nonce.

Returns
-

The documentation for this class was generated from the following files: