Skip to main content

IAuthorizationResponseBuilder Interface

Abblix.Oidc.Server

Abblix.Oidc.Server.Endpoints.Authorization.Interfaces

IAuthorizationResponseBuilder Interface

Contributes one response-type component to the authorization endpoint's success response. Each implementation owns a single value of the OAuth 2.0 / OIDC response_type parameter (for example code, token, or id_token) and populates the corresponding field on the running SuccessfullyAuthenticated result.

public interface IAuthorizationResponseBuilder : Abblix.Oidc.Server.Common.Interfaces.IGrantTypeInformer

Derived
AuthorizationCodeBuilder
IdTokenResponseBuilder
TokenResponseBuilder
NoneResponseBuilder

Implements IGrantTypeInformer

Remarks

The processor (IAuthorizationRequestProcessor) is a composite over the registered processors: the orchestration logic (auth-session selection, consent, scope checks) lives in the processor; per-response-type generation lives here. Implicit Flow / Hybrid Flow support is expressed by registering token and id_token processors. Without those registrations the corresponding response types simply do not exist in the DI graph — Implicit Flow does not run, matching OAuth 2.1 (draft) default-off semantics.

Properties

IAuthorizationResponseBuilder.ResponseType Property

The single OAuth 2.0 / OIDC response-type value this processor is responsible for, matched case-sensitively against parts of the request's response_type.

string ResponseType { get; }

Property Value

System.String

Methods

IAuthorizationResponseBuilder.BuildResponseAsync(ValidAuthorizationRequest, AuthorizedGrant, SuccessfullyAuthenticated) Method

Populates the relevant field on result for this processor's response type. Implementations mutate result in place and may read fields populated by processors that ran earlier in the canonical iteration order (code before token before id_token).

System.Threading.Tasks.Task BuildResponseAsync(Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.ValidAuthorizationRequest request, Abblix.Oidc.Server.Endpoints.Token.Interfaces.AuthorizedGrant authorizedGrant, Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.SuccessfullyAuthenticated result);

Parameters

request ValidAuthorizationRequest
authorizedGrant AuthorizedGrant
result SuccessfullyAuthenticated

Returns

System.Threading.Tasks.Task