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

#include <OIDCClient.h>

Detailed Description

OpenID Connect -client.

This is base interface for low-level OIDC client. The interface does not contain authenticate method, as the flow depends on the OAuth flow. For default browser-based flow, see tenduke::oidc::BrowserOIDCClient.

Inheritance diagram for tenduke::oidc::OIDCClient:
tenduke::oidc::BaseOIDCClient tenduke::oidc::OIDCBrowserFlow tenduke::oidc::device::OIDCDeviceFlow tenduke::test::mocks::OIDCClientMock tenduke::oidc::DefaultOIDCBrowserFlow tenduke::oidc::device::DefaultOIDCDeviceFlow tenduke::oidc::DefaultOIDCBrowserFlow tenduke::test::mocks::OIDCBrowserFlowMock tenduke::oidc::device::DefaultOIDCDeviceFlow tenduke::test::mocks::OIDCDeviceFlowMock

Public Member Functions

virtual std::unique_ptr< const tenduke::oidc::OIDCRefreshRequestrefresh (const std::shared_ptr< tenduke::oidc::OIDCState > &state) const =0
 Refreshes the OIDC state.
 
virtual std::string requestUserinfo (const std::string &accessToken) const =0
 Requests user information from "userinfo"-endpoint.
 

Member Function Documentation

◆ refresh()

virtual std::unique_ptr< const tenduke::oidc::OIDCRefreshRequest > tenduke::oidc::OIDCClient::refresh ( const std::shared_ptr< tenduke::oidc::OIDCState > &  state) const
pure virtual

Refreshes the OIDC state.

Parameters
state-
Returns
-

Implemented in tenduke::oidc::BaseOIDCClient.

◆ requestUserinfo()

virtual std::string tenduke::oidc::OIDCClient::requestUserinfo ( const std::string &  accessToken) const
pure virtual

Requests user information from "userinfo"-endpoint.

(See https://openid.net/specs/openid-connect-core-1_0.html#UserInfo)

Note: Return type may return in the future.

Parameters
accessToken-
Returns
-
Exceptions
tenduke::http::HTTPResponseExceptionif HTTP-status codes indicate an error (e.g. 401, 404)
tenduke::http::HTTPExceptionif some HTTP-level error
tenduke::net:NetworkingExceptionif e.g. host not found, network connection issues etc.

Implemented in tenduke::oidc::BaseOIDCClient.


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