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

#include <OIDCDeviceFlowLoginRequest.h>

Detailed Description

Login request using OIDC with OAuth Device Authorization Grant.

This request implements the full OAuth Device Authorization Grant flow.

The request takes callback, which is called when the Device Authorization Response has been received. The callback should prompt the user to open browser and navigate to given URL.

After the callback finishes, the request starts polling the backend, waiting for the user to authenticate himself out-of-the-band.

Inheritance diagram for tenduke::oidc::device::OIDCDeviceFlowLoginRequest:
tenduke::oidc::OIDCLoginRequest

Public Member Functions

 OIDCDeviceFlowLoginRequest (std::unique_ptr< tenduke::oidc::device::OIDCDeviceAuthenticationRequest > request, oauth::device::OAuthDeviceAuthorizationResponseReceived &authorizationResponseReceived)
 Constructs new instance.
 
std::unique_ptr< tenduke::oidc::OIDCStateexecute () override
 Performs the login.
 
void abort () override
 Aborts the login.
 

Constructor & Destructor Documentation

◆ OIDCDeviceFlowLoginRequest()

tenduke::oidc::device::OIDCDeviceFlowLoginRequest::OIDCDeviceFlowLoginRequest ( std::unique_ptr< tenduke::oidc::device::OIDCDeviceAuthenticationRequest request,
oauth::device::OAuthDeviceAuthorizationResponseReceived authorizationResponseReceived 
)

Constructs new instance.

Parameters
request-
authorizationResponseReceived-

Member Function Documentation

◆ abort()

void tenduke::oidc::device::OIDCDeviceFlowLoginRequest::abort ( )
overridevirtual

Aborts the login.

This allows another thread to abort a dangling login process.

Implements tenduke::oidc::OIDCLoginRequest.

◆ execute()

std::unique_ptr<::OIDCState > tenduke::oidc::device::OIDCDeviceFlowLoginRequest::execute ( )
overridevirtual

Performs the login.

Returns
new OIDCState describing the user session

Implements tenduke::oidc::OIDCLoginRequest.


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