1#ifndef TENDUKE_OIDC_DEFAULTOIDCBROWSERFLOW_H 
    2#define TENDUKE_OIDC_DEFAULTOIDCBROWSERFLOW_H 
    4#include "./BaseOIDCClient.h" 
    5#include "./DefaultOIDCBrowserFlowAuthenticationRequest.h" 
    6#include "./DefaultOIDCRefreshRequest.h" 
    7#include "../OIDCBrowserFlow.h" 
    8#include "../OIDCConfiguration.h" 
    9#include "../../oauth/OAuthBrowserFlow.h" 
   11#include "http/HTTPClient.h" 
   12#include "jwt/JWTParser.h" 
   13#include "utl/random/RandomURLSafeString.h" 
   46            const std::shared_ptr<const tenduke::oauth::OAuthBrowserFlow> &oauthClient,
 
   47            const std::shared_ptr<tenduke::utl::random::RandomUrlSafeString> &randomUrlSafeString,
 
   48            const std::shared_ptr<const tenduke::jwt::JWTParser> &jwtParser,
 
   49            const std::shared_ptr<const tenduke::http::HTTPClient> &httpClient,
 
   54    std::unique_ptr<const tenduke::oidc::OIDCBrowserFlowAuthenticationRequest> 
authenticate(
const std::string &scopes) 
const override;
 
   55    std::unique_ptr<const tenduke::oidc::OIDCBrowserFlowAuthenticationRequest> 
authenticate(
 
   56            const std::string &scopes,
 
   57            const std::map<std::string, std::string> &additionalParameters
 
   68    const std::shared_ptr<const tenduke::oauth::OAuthBrowserFlow> oauthClient;
 
   69    const std::shared_ptr<tenduke::utl::random::RandomUrlSafeString> randomUrlSafeString;
 
   71    const size_t nonceLength;
 
 
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.
Definition DefaultOIDCBrowserFlow.cpp:41
 
Base-class for OIDC-clients.
Definition BaseOIDCClient.h:22
 
const std::shared_ptr< const tenduke::oidc::OIDCConfiguration > oidcConfiguration
OIDC-configuration.
Definition BaseOIDCClient.h:71
 
static const std::size_t DEFAULT_NONCE_LENGTH
Default nonce length.
Definition DefaultOIDCBrowserFlow.h:32
 
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.
Definition DefaultOIDCBrowserFlow.cpp:41
 
std::string generateNonce() const
Generates nonce.
Definition DefaultOIDCBrowserFlow.cpp:35
 
std::unique_ptr< const tenduke::oidc::OIDCBrowserFlowAuthenticationRequest > authenticate(const std::string &scopes) const override
Creates OIDCRequest which performs the OIDC-authentication.
Definition DefaultOIDCBrowserFlow.cpp:28
 
OpenID Connect -client.
Definition OIDCBrowserFlow.h:22
 
Implementation of OpenID Connect protocol.
Definition AutoDiscovery.h:18
 
Root for classes, functions and globals of 10Duke C++ Client.
Definition APIRequest.h:4