Skip to main content

IdTokenResponseBuilder Class

Abblix.Oidc.Server

Abblix.Oidc.Server.Features.ImplicitFlow

IdTokenResponseBuilder Class

Builds the id_token response-type component of an authorization endpoint success response — the OIDC identity-token contributor of the Implicit / Hybrid Flow. Generates an ID token via IIdentityTokenService and stores it on the running SuccessfullyAuthenticated result. Registered ONLY when a host calls EnableImplicitFlow(); absent by default per OAuth 2.1 (draft) deprecation guidance. Declares implicit in GrantTypesSupported so opting in surfaces the implicit grant in discovery and registration-time gating without extra DI wiring.

public class IdTokenResponseBuilder : Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.IAuthorizationResponseBuilder, Abblix.Oidc.Server.Common.Interfaces.IGrantTypeInformer

Inheritance System.Object → IdTokenResponseBuilder

Implements IAuthorizationResponseBuilder, IGrantTypeInformer

Remarks

This builder is order-dependent: it reads Code and AccessToken populated by earlier builders to compute the c_hash and at_hash claims when those response components are present. The orchestrator iterates response-type parts in canonical order (codetokenid_token) so this dependency holds without explicit sequencing on the builder side.

Constructors

IdTokenResponseBuilder(IIdentityTokenService) Constructor

Builds the id_token response-type component of an authorization endpoint success response — the OIDC identity-token contributor of the Implicit / Hybrid Flow. Generates an ID token via IIdentityTokenService and stores it on the running SuccessfullyAuthenticated result. Registered ONLY when a host calls EnableImplicitFlow(); absent by default per OAuth 2.1 (draft) deprecation guidance. Declares implicit in GrantTypesSupported so opting in surfaces the implicit grant in discovery and registration-time gating without extra DI wiring.

public IdTokenResponseBuilder(Abblix.Oidc.Server.Features.Tokens.IIdentityTokenService identityTokenService);

Parameters

identityTokenService IIdentityTokenService

Remarks

This builder is order-dependent: it reads Code and AccessToken populated by earlier builders to compute the c_hash and at_hash claims when those response components are present. The orchestrator iterates response-type parts in canonical order (codetokenid_token) so this dependency holds without explicit sequencing on the builder side.

Properties

IdTokenResponseBuilder.GrantTypesSupported Property

The grant types supported by this component, as defined in OAuth 2.0 and OpenID Connect specifications.

public System.Collections.Generic.IEnumerable<string> GrantTypesSupported { get; }

Implements GrantTypesSupported

Property Value

System.Collections.Generic.IEnumerable<System.String>

Remarks

Common grant types include:

  • "authorization_code" - Authorization Code Grant
  • "implicit" - Implicit Grant
  • "refresh_token" - Refresh Token Grant
  • "client_credentials" - Client Credentials Grant
  • "password" - Resource Owner Password Credentials Grant

IdTokenResponseBuilder.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.

public string ResponseType { get; }

Implements ResponseType

Property Value

System.String

Methods

IdTokenResponseBuilder.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).

public 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

Implements BuildResponseAsync(ValidAuthorizationRequest, AuthorizedGrant, SuccessfullyAuthenticated)

Returns

System.Threading.Tasks.Task