Skip to main content

BackChannelAuthenticationRequestProcessor Class

Abblix.Oidc.Server

Abblix.Oidc.Server.Endpoints.BackChannelAuthentication

BackChannelAuthenticationRequestProcessor Class

Handles the processing of backchannel authentication requests in an OAuth 2.0/OpenID Connect context. This class is responsible for managing the lifecycle of a backchannel authentication request, from initiating the user's authentication on their device to storing the request for status polling. It ensures that the client is authorized, user-device authentication is initiated, and the request's status is properly stored and can be queried during the authentication process. The class coordinates various services like authentication storage, options configuration and user-device interaction, ensuring a seamless backchannel authentication flow.

public class BackChannelAuthenticationRequestProcessor : Abblix.Oidc.Server.Endpoints.BackChannelAuthentication.Interfaces.IBackChannelAuthenticationRequestProcessor

Inheritance System.Object → BackChannelAuthenticationRequestProcessor

Implements IBackChannelAuthenticationRequestProcessor

Constructors

BackChannelAuthenticationRequestProcessor(IBackChannelRequestStorage, IOptionsSnapshot<OidcOptions>, IUserDeviceAuthenticationHandler, TimeProvider) Constructor

Handles the processing of backchannel authentication requests in an OAuth 2.0/OpenID Connect context. This class is responsible for managing the lifecycle of a backchannel authentication request, from initiating the user's authentication on their device to storing the request for status polling. It ensures that the client is authorized, user-device authentication is initiated, and the request's status is properly stored and can be queried during the authentication process. The class coordinates various services like authentication storage, options configuration and user-device interaction, ensuring a seamless backchannel authentication flow.

public BackChannelAuthenticationRequestProcessor(Abblix.Oidc.Server.Features.BackChannelAuthentication.Interfaces.IBackChannelRequestStorage storage, Microsoft.Extensions.Options.IOptionsSnapshot<Abblix.Oidc.Server.Common.Configuration.OidcOptions> options, Abblix.Oidc.Server.Features.BackChannelAuthentication.Interfaces.IUserDeviceAuthenticationHandler userDeviceAuthenticationHandler, System.TimeProvider timeProvider);

Parameters

storage IBackChannelRequestStorage

Service for storing and retrieving backchannel authentication requests.

options Microsoft.Extensions.Options.IOptionsSnapshot<OidcOptions>

Configuration options related to backchannel authentication.

userDeviceAuthenticationHandler IUserDeviceAuthenticationHandler

Handler for initiating authentication on the user's device.

timeProvider System.TimeProvider

Time provider for managing authentication request expiration.

Methods

BackChannelAuthenticationRequestProcessor.ProcessAsync(ValidBackChannelAuthenticationRequest) Method

Asynchronously processes a validated backchannel authentication request and generates an appropriate response. This method handles the business logic required to respond to a backchannel authentication request, including generating tokens, managing session state, and any other necessary operations.

public System.Threading.Tasks.Task<Abblix.Utils.Result<Abblix.Oidc.Server.Model.BackChannelAuthenticationSuccess,Abblix.Oidc.Server.Common.OidcError>> ProcessAsync(Abblix.Oidc.Server.Endpoints.BackChannelAuthentication.Interfaces.ValidBackChannelAuthenticationRequest request);

Parameters

request ValidBackChannelAuthenticationRequest

The validated backchannel authentication request containing the original request data and associated client information.

Implements ProcessAsync(ValidBackChannelAuthenticationRequest)

Returns

System.Threading.Tasks.Task<Abblix.Utils.Result<BackChannelAuthenticationSuccess,OidcError>>
A task that returns a Abblix.Utils.Result<> that contains the result of the processing, such as an authentication request ID and the expires_in value.