10Duke Enterprise C++ SDK
Loading...
Searching...
No Matches
tenduke::oauth::ccg::OAuthClientCredentialsGrantFlow Class Reference

#include <OAuthClientCredentialsGrantFlow.h>

Detailed Description

OAuth Client Credentials Grant implementation of tenduke::oauth::OAuthClient.

Reference: https://datatracker.ietf.org/doc/html/rfc6749#section-4.4

Inheritance diagram for tenduke::oauth::ccg::OAuthClientCredentialsGrantFlow:
tenduke::oauth::BaseOAuthClient tenduke::oauth::OAuthClient

Public Member Functions

 OAuthClientCredentialsGrantFlow (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.
virtual std::unique_ptr< const ::tenduke::oauth::ccg::OAuthClientCredentialsGrantRequestauthorize (const std::string &scope) const
 Creates new OAuth authorization request.
virtual std::unique_ptr< const ::tenduke::oauth::ccg::OAuthClientCredentialsGrantRequestauthorize (const std::string &scope, const std::map< std::string, std::string > &additionalParameters) const
 Creates new OAuth authorization request.
virtual std::unique_ptr< const ::tenduke::oauth::ccg::OAuthClientCredentialsGrantRequestauthorize () const
 Creates new OAuth authorization request without scope.
Public Member Functions inherited from tenduke::oauth::BaseOAuthClient
 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 OAuthConfigurationgetConfiguration () const
 Returns the configuration of this client.
std::unique_ptr< const tenduke::oauth::OAuthRefreshRequestrefresh (std::shared_ptr< tenduke::oauth::OAuthState > state) const override
 Creates OAuthRefreshRequest for refreshing the state.

Additional Inherited Members

Protected Attributes inherited from tenduke::oauth::BaseOAuthClient
const std::shared_ptr< const OAuthConfigurationconfig
 OAuth configuration.
const std::shared_ptr< const tenduke::http::HTTPClienthttpClient
 HTTP client.
const std::shared_ptr< const tenduke::json::JSONParserjsonParser
 For parsing responses.
const std::shared_ptr< tenduke::time::Clockclock
 Clock to generate "expires-at" from "expires-in".

Constructor & Destructor Documentation

◆ OAuthClientCredentialsGrantFlow()

tenduke::oauth::ccg::OAuthClientCredentialsGrantFlow::OAuthClientCredentialsGrantFlow ( 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.

Parameters
config-
httpClient-
jsonParser-
clock-

Member Function Documentation

◆ authorize() [1/3]

std::unique_ptr< const::OAuthClientCredentialsGrantRequest > tenduke::oauth::ccg::OAuthClientCredentialsGrantFlow::authorize ( ) const
virtual

Creates new OAuth authorization request without scope.

Returns
the authorization request

◆ authorize() [2/3]

std::unique_ptr< const::OAuthClientCredentialsGrantRequest > tenduke::oauth::ccg::OAuthClientCredentialsGrantFlow::authorize ( const std::string & scope) const
virtual

Creates new OAuth authorization request.

Parameters
scopeOAuth scopes to request
Returns
the authorization request

◆ authorize() [3/3]

std::unique_ptr< const::OAuthClientCredentialsGrantRequest > tenduke::oauth::ccg::OAuthClientCredentialsGrantFlow::authorize ( const std::string & scope,
const std::map< std::string, std::string > & additionalParameters ) const
virtual

Creates new OAuth authorization request.

Parameters
scopeOAuth scopes to request
additionalParametersadditional parameters for the request
Returns
the authorization request

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