Skip to main content

AuthorizationRequest Class

Abblix.Oidc.Server

Abblix.Oidc.Server.Features.Storages.Proto

AuthorizationRequest Class

Represents an authorization request for OpenID Connect or OAuth 2.0

public sealed class AuthorizationRequest : Google.Protobuf.IMessage<Abblix.Oidc.Server.Features.Storages.Proto.AuthorizationRequest>, Google.Protobuf.IMessage, System.IEquatable<Abblix.Oidc.Server.Features.Storages.Proto.AuthorizationRequest>, Google.Protobuf.IDeepCloneable<Abblix.Oidc.Server.Features.Storages.Proto.AuthorizationRequest>, Google.Protobuf.IBufferMessage

Inheritance System.Object → AuthorizationRequest

Implements Google.Protobuf.IMessage<AuthorizationRequest>, Google.Protobuf.IMessage, System.IEquatable<AuthorizationRequest>, Google.Protobuf.IDeepCloneable<AuthorizationRequest>, Google.Protobuf.IBufferMessage

Fields

AuthorizationRequest.AcrValuesFieldNumber Field

Field number for the "acr_values" field.

public const int AcrValuesFieldNumber = 16;

Field Value

System.Int32

AuthorizationRequest.AuthorizationDetailsJsonFieldNumber Field

Field number for the "authorization_details_json" field.

public const int AuthorizationDetailsJsonFieldNumber = 23;

Field Value

System.Int32

AuthorizationRequest.ClaimsFieldNumber Field

Field number for the "claims" field.

public const int ClaimsFieldNumber = 2;

Field Value

System.Int32

AuthorizationRequest.ClaimsLocalesFieldNumber Field

Field number for the "claims_locales" field.

public const int ClaimsLocalesFieldNumber = 13;

Field Value

System.Int32

AuthorizationRequest.ClientIdFieldNumber Field

Field number for the "client_id" field.

public const int ClientIdFieldNumber = 4;

Field Value

System.Int32

AuthorizationRequest.CodeChallengeFieldNumber Field

Field number for the "code_challenge" field.

public const int CodeChallengeFieldNumber = 17;

Field Value

System.Int32

AuthorizationRequest.CodeChallengeMethodFieldNumber Field

Field number for the "code_challenge_method" field.

public const int CodeChallengeMethodFieldNumber = 18;

Field Value

System.Int32

AuthorizationRequest.DisplayFieldNumber Field

Field number for the "display" field.

public const int DisplayFieldNumber = 9;

Field Value

System.Int32

AuthorizationRequest.IdTokenHintFieldNumber Field

Field number for the "id_token_hint" field.

public const int IdTokenHintFieldNumber = 14;

Field Value

System.Int32

AuthorizationRequest.LoginHintFieldNumber Field

Field number for the "login_hint" field.

public const int LoginHintFieldNumber = 15;

Field Value

System.Int32

AuthorizationRequest.MaxAgeFieldNumber Field

Field number for the "max_age" field.

public const int MaxAgeFieldNumber = 11;

Field Value

System.Int32

AuthorizationRequest.NonceFieldNumber Field

Field number for the "nonce" field.

public const int NonceFieldNumber = 8;

Field Value

System.Int32

AuthorizationRequest.PromptFieldNumber Field

Field number for the "prompt" field.

public const int PromptFieldNumber = 10;

Field Value

System.Int32

AuthorizationRequest.ProofKeyThumbprintFieldNumber Field

Field number for the "proof_key_thumbprint" field.

public const int ProofKeyThumbprintFieldNumber = 22;

Field Value

System.Int32

AuthorizationRequest.RedirectUriFieldNumber Field

Field number for the "redirect_uri" field.

public const int RedirectUriFieldNumber = 5;

Field Value

System.Int32

AuthorizationRequest.RequestFieldNumber Field

Field number for the "request" field.

public const int RequestFieldNumber = 19;

Field Value

System.Int32

AuthorizationRequest.RequestUriFieldNumber Field

Field number for the "request_uri" field.

public const int RequestUriFieldNumber = 20;

Field Value

System.Int32

AuthorizationRequest.ResourcesFieldNumber Field

Field number for the "resources" field.

public const int ResourcesFieldNumber = 21;

Field Value

System.Int32

AuthorizationRequest.ResponseModeFieldNumber Field

Field number for the "response_mode" field.

public const int ResponseModeFieldNumber = 7;

Field Value

System.Int32

AuthorizationRequest.ResponseTypeFieldNumber Field

Field number for the "response_type" field.

public const int ResponseTypeFieldNumber = 3;

Field Value

System.Int32

AuthorizationRequest.ScopeFieldNumber Field

Field number for the "scope" field.

public const int ScopeFieldNumber = 1;

Field Value

System.Int32

AuthorizationRequest.StateFieldNumber Field

Field number for the "state" field.

public const int StateFieldNumber = 6;

Field Value

System.Int32

AuthorizationRequest.UiLocalesFieldNumber Field

Field number for the "ui_locales" field.

public const int UiLocalesFieldNumber = 12;

Field Value

System.Int32

Properties

AuthorizationRequest.AcrValues Property

Authentication Context Class References requested

public Google.Protobuf.Collections.RepeatedField<string> AcrValues { get; }

Property Value

Google.Protobuf.Collections.RepeatedField<System.String>

AuthorizationRequest.AuthorizationDetailsJson Property

RFC 9396 Rich Authorization Requests array, serialised as a JSON string. Stored as opaque JSON because each entry's type-specific payload (RFC 9396 §2.2 extension data) is structurally unbounded; round-trip preserves the exact wire shape so PAR persistence keeps byte-exact authorization_details until the front-channel /authorize endpoint redeems the request_uri.

public string AuthorizationDetailsJson { get; set; }

Property Value

System.String

AuthorizationRequest.Claims Property

Detailed request for specific claims (UserInfo and ID Token). Uses structured protobuf types (Value, ListValue) for efficient binary serialization without JSON string encoding. Supports essential flags and value constraints.

public Abblix.Oidc.Server.Features.Storages.Proto.RequestedClaims Claims { get; set; }

Property Value

RequestedClaims

AuthorizationRequest.ClaimsLocales Property

Claims locales requested for the authorization response (BCP47 language tags)

public Google.Protobuf.Collections.RepeatedField<string> ClaimsLocales { get; }

Property Value

Google.Protobuf.Collections.RepeatedField<System.String>

AuthorizationRequest.ClientId Property

The client ID of the requesting client

public string ClientId { get; set; }

Property Value

System.String

AuthorizationRequest.CodeChallenge Property

PKCE code challenge

public string CodeChallenge { get; set; }

Property Value

System.String

AuthorizationRequest.CodeChallengeMethod Property

PKCE code challenge method

public string CodeChallengeMethod { get; set; }

Property Value

System.String

AuthorizationRequest.Display Property

How the authorization server displays authentication and consent UI

public string Display { get; set; }

Property Value

System.String

AuthorizationRequest.HasAuthorizationDetailsJson Property

Gets whether the "authorization_details_json" field is set

public bool HasAuthorizationDetailsJson { get; }

Property Value

System.Boolean

AuthorizationRequest.HasClientId Property

Gets whether the "client_id" field is set

public bool HasClientId { get; }

Property Value

System.Boolean

AuthorizationRequest.HasCodeChallenge Property

Gets whether the "code_challenge" field is set

public bool HasCodeChallenge { get; }

Property Value

System.Boolean

AuthorizationRequest.HasCodeChallengeMethod Property

Gets whether the "code_challenge_method" field is set

public bool HasCodeChallengeMethod { get; }

Property Value

System.Boolean

AuthorizationRequest.HasDisplay Property

Gets whether the "display" field is set

public bool HasDisplay { get; }

Property Value

System.Boolean

AuthorizationRequest.HasIdTokenHint Property

Gets whether the "id_token_hint" field is set

public bool HasIdTokenHint { get; }

Property Value

System.Boolean

AuthorizationRequest.HasLoginHint Property

Gets whether the "login_hint" field is set

public bool HasLoginHint { get; }

Property Value

System.Boolean

AuthorizationRequest.HasNonce Property

Gets whether the "nonce" field is set

public bool HasNonce { get; }

Property Value

System.Boolean

AuthorizationRequest.HasPrompt Property

Gets whether the "prompt" field is set

public bool HasPrompt { get; }

Property Value

System.Boolean

AuthorizationRequest.HasProofKeyThumbprint Property

Gets whether the "proof_key_thumbprint" field is set

public bool HasProofKeyThumbprint { get; }

Property Value

System.Boolean

AuthorizationRequest.HasRedirectUri Property

Gets whether the "redirect_uri" field is set

public bool HasRedirectUri { get; }

Property Value

System.Boolean

AuthorizationRequest.HasRequest Property

Gets whether the "request" field is set

public bool HasRequest { get; }

Property Value

System.Boolean

AuthorizationRequest.HasRequestUri Property

Gets whether the "request_uri" field is set

public bool HasRequestUri { get; }

Property Value

System.Boolean

AuthorizationRequest.HasResponseMode Property

Gets whether the "response_mode" field is set

public bool HasResponseMode { get; }

Property Value

System.Boolean

AuthorizationRequest.HasState Property

Gets whether the "state" field is set

public bool HasState { get; }

Property Value

System.Boolean

AuthorizationRequest.IdTokenHint Property

ID token hint to pre-fill authentication and consent UI

public string IdTokenHint { get; set; }

Property Value

System.String

AuthorizationRequest.LoginHint Property

Login hint to pre-fill authentication UI

public string LoginHint { get; set; }

Property Value

System.String

AuthorizationRequest.MaxAge Property

Allowable elapsed time since last user authentication

public Google.Protobuf.WellKnownTypes.Duration MaxAge { get; set; }

Property Value

Google.Protobuf.WellKnownTypes.Duration

AuthorizationRequest.Nonce Property

Nonce value to associate client session with ID token

public string Nonce { get; set; }

Property Value

System.String

AuthorizationRequest.Prompt Property

Whether to prompt the user for re-authentication and consent

public string Prompt { get; set; }

Property Value

System.String

AuthorizationRequest.ProofKeyThumbprint Property

RFC 9449 §10 dpop_jkt: client's commitment to a DPoP proof-of-possession key measured at the authorize / PAR endpoint. Token endpoint compares this against the live proof's JWK thumbprint and rejects on mismatch — closing the authorization-code injection window where an attacker swaps in their own key.

public string ProofKeyThumbprint { get; set; }

Property Value

System.String

AuthorizationRequest.RedirectUri Property

The redirect URI where the response should be sent

public string RedirectUri { get; set; }

Property Value

System.String

AuthorizationRequest.Request Property

JWT that encapsulates the entire authorization request

public string Request { get; set; }

Property Value

System.String

AuthorizationRequest.RequestUri Property

URL referencing a Request Object (JWT)

public string RequestUri { get; set; }

Property Value

System.String

AuthorizationRequest.Resources Property

Resources for which the access token is requested (RFC 8707)

public Google.Protobuf.Collections.RepeatedField<string> Resources { get; }

Property Value

Google.Protobuf.Collections.RepeatedField<System.String>

AuthorizationRequest.ResponseMode Property

The requested response mode

public string ResponseMode { get; set; }

Property Value

System.String

AuthorizationRequest.ResponseType Property

The requested response types

public Google.Protobuf.Collections.RepeatedField<string> ResponseType { get; }

Property Value

Google.Protobuf.Collections.RepeatedField<System.String>

AuthorizationRequest.Scope Property

The requested scopes

public Google.Protobuf.Collections.RepeatedField<string> Scope { get; }

Property Value

Google.Protobuf.Collections.RepeatedField<System.String>

AuthorizationRequest.State Property

State parameter to maintain state between request and callback

public string State { get; set; }

Property Value

System.String

AuthorizationRequest.UiLocales Property

UI locales requested for the user interface (BCP47 language tags)

public Google.Protobuf.Collections.RepeatedField<string> UiLocales { get; }

Property Value

Google.Protobuf.Collections.RepeatedField<System.String>

Methods

AuthorizationRequest.ClearAuthorizationDetailsJson() Method

Clears the value of the "authorization_details_json" field

public void ClearAuthorizationDetailsJson();

AuthorizationRequest.ClearClientId() Method

Clears the value of the "client_id" field

public void ClearClientId();

AuthorizationRequest.ClearCodeChallenge() Method

Clears the value of the "code_challenge" field

public void ClearCodeChallenge();

AuthorizationRequest.ClearCodeChallengeMethod() Method

Clears the value of the "code_challenge_method" field

public void ClearCodeChallengeMethod();

AuthorizationRequest.ClearDisplay() Method

Clears the value of the "display" field

public void ClearDisplay();

AuthorizationRequest.ClearIdTokenHint() Method

Clears the value of the "id_token_hint" field

public void ClearIdTokenHint();

AuthorizationRequest.ClearLoginHint() Method

Clears the value of the "login_hint" field

public void ClearLoginHint();

AuthorizationRequest.ClearNonce() Method

Clears the value of the "nonce" field

public void ClearNonce();

AuthorizationRequest.ClearPrompt() Method

Clears the value of the "prompt" field

public void ClearPrompt();

AuthorizationRequest.ClearProofKeyThumbprint() Method

Clears the value of the "proof_key_thumbprint" field

public void ClearProofKeyThumbprint();

AuthorizationRequest.ClearRedirectUri() Method

Clears the value of the "redirect_uri" field

public void ClearRedirectUri();

AuthorizationRequest.ClearRequest() Method

Clears the value of the "request" field

public void ClearRequest();

AuthorizationRequest.ClearRequestUri() Method

Clears the value of the "request_uri" field

public void ClearRequestUri();

AuthorizationRequest.ClearResponseMode() Method

Clears the value of the "response_mode" field

public void ClearResponseMode();

AuthorizationRequest.ClearState() Method

Clears the value of the "state" field

public void ClearState();