|
10Duke Enterprise C++ Client
|
#include <DefaultOAuthDeviceFlowAuthorizationRequest.h>
Default implementation of tenduke::oauth::device::OAuthDeviceFlowAuthorizationRequest.
Public Member Functions | |
| DefaultOAuthDeviceFlowAuthorizationRequest (std::string scope, const std::map< std::string, std::string > &additionalParameters, std::uint64_t timeoutS, const std::shared_ptr< const tenduke::oauth::OAuthConfiguration > &configuration, const std::shared_ptr< tenduke::time::Clock > &clock, const std::shared_ptr< const tenduke::http::HTTPClient > &httpClient, const std::shared_ptr< const tenduke::http::HTTPResponseToException > &throwException, const std::shared_ptr< const tenduke::json::JSONParser > &jsonParser) | |
| Constructs new instance. | |
| tenduke::oauth::device::DeviceAuthorizationResponse | authorizationRequest () override |
| Performs Device Authorization Request. | |
| std::unique_ptr< tenduke::oauth::OAuthState > | accessTokenRequest () override |
| Performs Device Access Token Request. | |
| void | cancel () override |
| Marks the request canceled. | |
Protected Member Functions | |
| virtual void | sleepFor (std::chrono::milliseconds slumbertime) |
| Sleeps for given time. | |
| tenduke::oauth::device::DefaultOAuthDeviceFlowAuthorizationRequest::DefaultOAuthDeviceFlowAuthorizationRequest | ( | std::string | scope, |
| const std::map< std::string, std::string > & | additionalParameters, | ||
| std::uint64_t | timeoutS, | ||
| const std::shared_ptr< const tenduke::oauth::OAuthConfiguration > & | configuration, | ||
| const std::shared_ptr< tenduke::time::Clock > & | clock, | ||
| const std::shared_ptr< const tenduke::http::HTTPClient > & | httpClient, | ||
| const std::shared_ptr< const tenduke::http::HTTPResponseToException > & | throwException, | ||
| const std::shared_ptr< const tenduke::json::JSONParser > & | jsonParser ) |
Constructs new instance.
| scope | - |
| additionalParameters | - |
| timeoutS | timeout (in seconds) at the client end |
| configuration | - |
| clock | - |
| httpClient | - |
| throwException | - |
| jsonParser | - |
|
overridevirtual |
Performs Device Access Token Request.
See: https://datatracker.ietf.org/doc/html/rfc8628#section-3.4
| tenduke::Canceled | if the request was canceled by caller |
| tenduke::TimedOut | if the request has timed out (either in client or by backend) |
| tenduke::http::HTTPException | (or subclasses) in case of HTTPExceptions (e.g. HTTP 500) |
| tenduke::json::JSONException | (or subclasses) in case response is not valid JSON (should not happen) |
| tenduke::net::NetworkingException | (or subclasses) e.g. no network, invalid hostname, timeouts |
| tenduke::oauth::OAuthServerError | if OAuth server returned an error |
| tenduke::oauth::OAuthException | if some other OAuth error occurred |
Implements tenduke::oauth::device::OAuthDeviceFlowAuthorizationRequest.
|
overridevirtual |
Performs Device Authorization Request.
See: https://datatracker.ietf.org/doc/html/rfc8628#section-3.1
| tenduke::TimedOut | if the request has timed out (either in client or by backend) |
| tenduke::http::HTTPException | (or subclasses) in case of HTTPExceptions (e.g. HTTP 500) |
| tenduke::net::NetworkingException | (or subclasses) e.g. no network, invalid hostname, timeouts |
| tenduke::oauth::OAuthServerError | if OAuth server returned an error |
| tenduke::oauth::OAuthException | if some other OAuth error occurred |
Implements tenduke::oauth::device::OAuthDeviceFlowAuthorizationRequest.
|
overridevirtual |
Marks the request canceled.
This will cause the polling to throw tenduke::TimedOut.
Implements tenduke::oauth::device::OAuthDeviceFlowAuthorizationRequest.
|
protectedvirtual |
Sleeps for given time.
| slumbertime | - |