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
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);