10Duke Scale C++ Client
Loading...
Searching...
No Matches
DefaultOIDCBrowserFlowAuthenticationRequest.h
1#ifndef TENDUKE_OIDC_DEFAULTOIDCAUTHENTICATIONREQUEST_H
2#define TENDUKE_OIDC_DEFAULTOIDCAUTHENTICATIONREQUEST_H
3
4#include "./BaseOIDCRequest.h"
5#include "../OIDCBrowserFlowAuthenticationRequest.h"
6#include "../OIDCConfiguration.h"
7#include "../OIDCState.h"
8#include "../../oauth/OAuthBrowserAuthorizationRequest.h"
9
10#include "jwt/JWTParser.h"
11
12#include <memory>
13#include <string>
14
15namespace tenduke { namespace oidc {
16
17
24{
25public:
34 std::unique_ptr<const tenduke::oauth::OAuthBrowserAuthorizationRequest> oauthRequest,
35 const std::shared_ptr<const tenduke::oidc::OIDCConfiguration> &oidcConfiguration,
36 const std::string &nonce,
37 const std::shared_ptr<const tenduke::jwt::JWTParser> &parseJWT
38 );
39
45 std::string buildAuthenticationRequestUrl() const override;
46
72 std::unique_ptr<tenduke::oidc::OIDCState> handleCallback(const std::string &redirectURI) const override;
73
74private:
75 const std::unique_ptr<const tenduke::oauth::OAuthBrowserAuthorizationRequest> oauthRequest;
76};
77
78
79}}
80
81#endif // TENDUKE_OIDC_DEFAULTOIDCAUTHENTICATIONREQUEST_H
Base class for OIDC requests.
Definition BaseOIDCRequest.h:18
const std::shared_ptr< const tenduke::oidc::OIDCConfiguration > oidcConfiguration
OIDC-configuration.
Definition BaseOIDCRequest.h:55
const std::shared_ptr< const tenduke::jwt::JWTParser > parseJWT
JWT parser.
Definition BaseOIDCRequest.h:57
Default browser-based OIDC authentication request.
Definition DefaultOIDCBrowserFlowAuthenticationRequest.h:24
std::string buildAuthenticationRequestUrl() const override
Creates the initial authenticationrequest URL.
Definition DefaultOIDCBrowserFlowAuthenticationRequest.cpp:19
std::unique_ptr< tenduke::oidc::OIDCState > handleCallback(const std::string &redirectURI) const override
Handles callback: performs consequent actions to authenticate.
Definition DefaultOIDCBrowserFlowAuthenticationRequest.cpp:25
An OIDC-authentication request, which handles the OIDC-flow, authenticating the user with browser.
Definition OIDCBrowserFlowAuthenticationRequest.h:19
Root for classes, functions and globals of 10Duke C++ Client.
Definition BackendConfiguration.h:7