10Duke Scale C++ Client
Loading...
Searching...
No Matches
tenduke::oidc::device::OIDCDeviceAuthenticationRequest Class Referenceabstract

#include <OIDCDeviceAuthenticationRequest.h>

Detailed Description

OIDC Authentication request using OAuth Device Authorization Grant.

Inheritance diagram for tenduke::oidc::device::OIDCDeviceAuthenticationRequest:
tenduke::oidc::OIDCAuthenticationRequest tenduke::oidc::device::DefaultOIDCDeviceAuthenticationRequest tenduke::test::mocks::OIDCDeviceAuthenticationRequestMock

Public Member Functions

virtual tenduke::oauth::device::DeviceAuthorizationResponse authenticationRequest ()=0
 Perform the OAuth Device Authorization Request (wrapping it to OIDC).
 
virtual std::unique_ptr< tenduke::oidc::OIDCStateaccessTokenRequest ()=0
 Performs OAuth Device Access Token Request, wrapped inside OIDC.
 
virtual void cancel ()=0
 Marks the request canceled.
 

Member Function Documentation

◆ accessTokenRequest()

virtual std::unique_ptr< tenduke::oidc::OIDCState > tenduke::oidc::device::OIDCDeviceAuthenticationRequest::accessTokenRequest ( )
pure virtual

Performs OAuth Device Access Token Request, wrapped inside OIDC.

Returns
the OIDC state
Exceptions
tenduke::Canceledif the request was canceled by caller
tenduke::TimedOutif 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::jwt::JWTException(or subclasses) in case JWT parsing/validation failed
tenduke::net::NetworkingException(or subclasses) e.g. no network, invalid hostname, timeouts
tenduke::oauth::OAuthServerErrorif OAuth server returned an error
tenduke::oauth::OAuthExceptionif some other OAuth error occurred
tenduke::oidc::OIDCExceptionin case some OIDC-related error occurred

Implemented in tenduke::oidc::device::DefaultOIDCDeviceAuthenticationRequest.

◆ authenticationRequest()

virtual tenduke::oauth::device::DeviceAuthorizationResponse tenduke::oidc::device::OIDCDeviceAuthenticationRequest::authenticationRequest ( )
pure virtual

Perform the OAuth Device Authorization Request (wrapping it to OIDC).

Returns
the Device Authorization Response (see https://datatracker.ietf.org/doc/html/rfc8628#section-3.2)
Exceptions
tenduke::TimedOutif 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::OAuthServerErrorif OAuth server returned an error
tenduke::oauth::OAuthExceptionif some other OAuth error occurred
tenduke::oidc::OIDCExceptionin case some OIDC-related error occurred

Implemented in tenduke::oidc::device::DefaultOIDCDeviceAuthenticationRequest.

◆ cancel()

virtual void tenduke::oidc::device::OIDCDeviceAuthenticationRequest::cancel ( )
pure virtual

Marks the request canceled.

This will cause the polling to throw tenduke::TimedOut.

Implemented in tenduke::oidc::device::DefaultOIDCDeviceAuthenticationRequest.


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