#include <OAuthPKCEFlow.h>
OAuth Authorization Code Grant with PKCE implementation of tenduke::oauth::OAuthClient.
|
| OAuthPKCEFlow (std::shared_ptr< const tenduke::oauth::OAuthConfiguration > config, std::shared_ptr< const tenduke::http::HTTPClient > httpClient, std::shared_ptr< const tenduke::net::URLParser > urlParser, std::shared_ptr< const tenduke::json::JSONParser > jsonParser, std::shared_ptr< const tenduke::utl::Base64Encoder > base64Encoder, std::shared_ptr< const tenduke::crypto::MessageDigestFactory > messageDigestFactory, std::shared_ptr< tenduke::time::Clock > clock, std::shared_ptr< tenduke::utl::random::RandomUrlSafeString > randomUrlSafeString) |
| Constructs new instance.
|
|
std::unique_ptr< const tenduke::oauth::OAuthBrowserAuthorizationRequest > | authorize (const std::string &scopes) const override |
| Creates OAuthRequest to start the OAuth-authorization flow.
|
|
std::unique_ptr< const tenduke::oauth::OAuthBrowserAuthorizationRequest > | authorize (const std::string &scopes, const std::map< std::string, std::string > &additionalParameters) const override |
| Creates OAuthRequest to start the OAuth-authorization flow.
|
|
| BaseOAuthClient (std::shared_ptr< const tenduke::oauth::OAuthConfiguration > config, std::shared_ptr< const tenduke::http::HTTPClient > httpClient, std::shared_ptr< const tenduke::json::JSONParser > jsonParser, std::shared_ptr< tenduke::time::Clock > clock) |
| Constructs new instance.
|
|
std::shared_ptr< const OAuthConfiguration > | getConfiguration () const |
| Returns the configuration of this client.
|
|
std::unique_ptr< const tenduke::oauth::OAuthRefreshRequest > | refresh (std::shared_ptr< tenduke::oauth::OAuthState > state) const override |
| Creates OAuthRefreshRequest for refreshing the state.
|
|
◆ OAuthPKCEFlow()
Constructs new instance.
- Parameters
-
config | - |
httpClient | - |
urlParser | - |
jsonParser | - |
base64Encoder | - |
messageDigestFactory | - |
clock | - |
randomUrlSafeString | - |
◆ authorize() [1/2]
Creates OAuthRequest to start the OAuth-authorization flow.
- Parameters
-
scopes | scopes to authorize |
- Returns
- the OAuth-request
Implements tenduke::oauth::OAuthBrowserFlow.
◆ authorize() [2/2]
std::unique_ptr< const ::OAuthBrowserAuthorizationRequest > tenduke::oauth::pkce::OAuthPKCEFlow::authorize |
( |
const std::string & |
scopes, |
|
|
const std::map< std::string, std::string > & |
additionalParameters |
|
) |
| const |
|
overridevirtual |
Creates OAuthRequest to start the OAuth-authorization flow.
- Parameters
-
scopes | scopes to authorize |
additionalParameters | additional parameters for the request |
- Returns
- the OAuth-request
Implements tenduke::oauth::OAuthBrowserFlow.
◆ generateCodeVerifier()
std::string tenduke::oauth::pkce::OAuthPKCEFlow::generateCodeVerifier |
( |
| ) |
const |
|
protected |
Generates PKCE code verifier.
- Returns
- -
◆ generateState()
std::string tenduke::oauth::pkce::OAuthPKCEFlow::generateState |
( |
| ) |
const |
|
protected |
Generates value for "state"-parameter.
- Returns
- -
The documentation for this class was generated from the following files:
- core/oidc/core/src/oauth/pkce/OAuthPKCEFlow.h
- core/oidc/core/src/oauth/pkce/OAuthPKCEFlow.cpp