#### [Abblix\.Oidc\.Server](https://www.abblix.com/en/docs/api/abblix-oidc-server 'index')
### [Abblix\.Oidc\.Server\.Model](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Model 'Abblix\.Oidc\.Server\.Model')

## AuthorizationRequest Class

The set of parameters carried by an OAuth 2\.0 / OpenID Connect authorization request to the
`authorization_endpoint` as defined in RFC 6749 §4\.1\.1 and OpenID Connect Core 1\.0 §3\.1\.2\.1\.
Parameters are bound from query string, form body, or a Request Object passed via
[Request](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Model.AuthorizationRequest#Abblix.Oidc.Server.Model.AuthorizationRequest.Request 'Abblix\.Oidc\.Server\.Model\.AuthorizationRequest\.Request') / [RequestUri](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Model.AuthorizationRequest#Abblix.Oidc.Server.Model.AuthorizationRequest.RequestUri 'Abblix\.Oidc\.Server\.Model\.AuthorizationRequest\.RequestUri') \(OIDC Core §6\)\.

```csharp
public record AuthorizationRequest : System.IEquatable<Abblix.Oidc.Server.Model.AuthorizationRequest>
```

Inheritance [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') → AuthorizationRequest

Implements [System\.IEquatable&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.iequatable-1 'System\.IEquatable\`1')[AuthorizationRequest](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Model.AuthorizationRequest 'Abblix\.Oidc\.Server\.Model\.AuthorizationRequest')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.iequatable-1 'System\.IEquatable\`1')
### Properties

## AuthorizationRequest\.AcrValues Property {#Abblix.Oidc.Server.Model.AuthorizationRequest.AcrValues}

The OIDC `acr_values` \(OIDC Core §3\.1\.2\.1\), a preference\-ordered list of Authentication Context Class
Reference values that the client requests the authorization server to satisfy during authentication\.

```csharp
public string[]? AcrValues { get; init; }
```

#### Property Value
[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')[\[\]](https://learn.microsoft.com/en-us/dotnet/api/system.array 'System\.Array')

## AuthorizationRequest\.AuthorizationDetails Property {#Abblix.Oidc.Server.Model.AuthorizationRequest.AuthorizationDetails}

RFC 9396 Rich Authorization Requests stored as the raw wire [System\.Text\.Json\.Nodes\.JsonArray](https://learn.microsoft.com/en-us/dotnet/api/system.text.json.nodes.jsonarray 'System\.Text\.Json\.Nodes\.JsonArray') so member order and
type\-specific payload survive the request → grant → token round\-trip without re\-serialisation\.

```csharp
public System.Text.Json.Nodes.JsonArray? AuthorizationDetails { get; init; }
```

#### Property Value
[System\.Text\.Json\.Nodes\.JsonArray](https://learn.microsoft.com/en-us/dotnet/api/system.text.json.nodes.jsonarray 'System\.Text\.Json\.Nodes\.JsonArray')

## AuthorizationRequest\.Claims Property {#Abblix.Oidc.Server.Model.AuthorizationRequest.Claims}

The detailed request for specific claims \(user attributes\) to be included in the ID token or
returned from the UserInfo endpoint\.

```csharp
public Abblix.Oidc.Server.Model.RequestedClaims? Claims { get; init; }
```

#### Property Value
[RequestedClaims](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Model.RequestedClaims 'Abblix\.Oidc\.Server\.Model\.RequestedClaims')

## AuthorizationRequest\.ClaimsLocales Property {#Abblix.Oidc.Server.Model.AuthorizationRequest.ClaimsLocales}

The OIDC `claims_locales` parameter \(OIDC Core §5\.2\), preference\-ordered BCP 47 language tags
the client prefers when claims are returned in localized form\.

```csharp
public System.Globalization.CultureInfo[]? ClaimsLocales { get; init; }
```

#### Property Value
[System\.Globalization\.CultureInfo](https://learn.microsoft.com/en-us/dotnet/api/system.globalization.cultureinfo 'System\.Globalization\.CultureInfo')[\[\]](https://learn.microsoft.com/en-us/dotnet/api/system.array 'System\.Array')

## AuthorizationRequest\.ClientId Property {#Abblix.Oidc.Server.Model.AuthorizationRequest.ClientId}

The OAuth 2\.0 `client_id` identifying the relying party that issued the request,
per RFC 6749 §4\.1\.1\. Required for any conformant authorization request\.

```csharp
public string? ClientId { get; init; }
```

#### Property Value
[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')

### Remarks
Deliberately not marked as required at the model level: a missing client identifier must
surface as the protocol\-level invalid request error produced by the core validation
pipeline, not as a transport\-level model\-binding failure\.

## AuthorizationRequest\.CodeChallenge Property {#Abblix.Oidc.Server.Model.AuthorizationRequest.CodeChallenge}

The PKCE `code_challenge` \(RFC 7636 §4\.3\), a high\-entropy value derived from the client\-held
`code_verifier` using [CodeChallengeMethod](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Model.AuthorizationRequest#Abblix.Oidc.Server.Model.AuthorizationRequest.CodeChallengeMethod 'Abblix\.Oidc\.Server\.Model\.AuthorizationRequest\.CodeChallengeMethod')\. Required for public clients to defend
the authorization code against interception\.

```csharp
public string? CodeChallenge { get; init; }
```

#### Property Value
[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')

## AuthorizationRequest\.CodeChallengeMethod Property {#Abblix.Oidc.Server.Model.AuthorizationRequest.CodeChallengeMethod}

The PKCE `code_challenge_method` \(RFC 7636 §4\.3\) declaring how [CodeChallenge](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Model.AuthorizationRequest#Abblix.Oidc.Server.Model.AuthorizationRequest.CodeChallenge 'Abblix\.Oidc\.Server\.Model\.AuthorizationRequest\.CodeChallenge') was
derived from the code verifier\. `S256` is required by current best\-practice profiles; `plain`
is supported only for legacy compatibility\.

```csharp
public string? CodeChallengeMethod { get; init; }
```

#### Property Value
[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')

## AuthorizationRequest\.Display Property {#Abblix.Oidc.Server.Model.AuthorizationRequest.Display}

The OIDC `display` parameter \(OIDC Core §3\.1\.2\.1\) hinting how the authentication and consent UI
should be rendered: `page`, `popup`, `touch`, or `wap`\.

```csharp
public string? Display { get; init; }
```

#### Property Value
[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')

## AuthorizationRequest\.IdTokenHint Property {#Abblix.Oidc.Server.Model.AuthorizationRequest.IdTokenHint}

The OIDC `id_token_hint` \(OIDC Core §3\.1\.2\.1\), a previously issued ID Token used as a hint about
the end\-user's current or past authenticated session, typically combined with `prompt=none`\.

```csharp
public string? IdTokenHint { get; init; }
```

#### Property Value
[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')

## AuthorizationRequest\.LoginHint Property {#Abblix.Oidc.Server.Model.AuthorizationRequest.LoginHint}

The OIDC `login_hint` \(OIDC Core §3\.1\.2\.1\) suggesting the login identifier \(such as an email or phone\)
that the authorization server should use to pre\-fill the authentication UI\.

```csharp
public string? LoginHint { get; init; }
```

#### Property Value
[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')

## AuthorizationRequest\.MaxAge Property {#Abblix.Oidc.Server.Model.AuthorizationRequest.MaxAge}

The OIDC `max_age` parameter \(OIDC Core §3\.1\.2\.1\) bounding the elapsed time since the last
active end\-user authentication\. Serialized as an integer number of seconds\.

```csharp
public System.Nullable<System.TimeSpan> MaxAge { get; init; }
```

#### Property Value
[System\.Nullable&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.nullable-1 'System\.Nullable\`1')[System\.TimeSpan](https://learn.microsoft.com/en-us/dotnet/api/system.timespan 'System\.TimeSpan')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.nullable-1 'System\.Nullable\`1')

## AuthorizationRequest\.Nonce Property {#Abblix.Oidc.Server.Model.AuthorizationRequest.Nonce}

The OIDC `nonce` \(OIDC Core §3\.1\.2\.1\) bound into the issued ID Token to prevent token replay\.
Required for the implicit and hybrid flows; recommended for the authorization code flow\.

```csharp
public string? Nonce { get; init; }
```

#### Property Value
[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')

## AuthorizationRequest\.Prompt Property {#Abblix.Oidc.Server.Model.AuthorizationRequest.Prompt}

The OIDC `prompt` parameter \(OIDC Core §3\.1\.2\.1\) controlling whether the authorization server
re\-prompts for authentication and consent\. Values: `none`, `login`, `consent`,
`select_account`, and the registration extension `create`\.

```csharp
public string? Prompt { get; init; }
```

#### Property Value
[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')

## AuthorizationRequest\.ProofKeyThumbprint Property {#Abblix.Oidc.Server.Model.AuthorizationRequest.ProofKeyThumbprint}

Client's pre\-commitment to a DPoP proof\-of\-possession key per RFC 9449 §10
\(`dpop_jkt` parameter\): the base64url\-encoded RFC 7638 JWK Thumbprint of the
key the client will demonstrate at the token endpoint\. Persisted with the
authorization code so /token can reject mismatched proofs and close the
authorization\-code injection window\.

```csharp
public string? ProofKeyThumbprint { get; init; }
```

#### Property Value
[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')

## AuthorizationRequest\.PushedRequestUri Property {#Abblix.Oidc.Server.Model.AuthorizationRequest.PushedRequestUri}

The pushed authorization request URN \(RFC 9126\) this request was resolved from, populated by the
fetcher after the stored request is retrieved\. Kept off the wire and out of [RequestUri](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Model.AuthorizationRequest#Abblix.Oidc.Server.Model.AuthorizationRequest.RequestUri 'Abblix\.Oidc\.Server\.Model\.AuthorizationRequest\.RequestUri')
\(whose https validation a `urn:` value would fail\) so the single\-use decorator can consume it
once a code or token has been issued\.

```csharp
public System.Uri? PushedRequestUri { get; init; }
```

#### Property Value
[System\.Uri](https://learn.microsoft.com/en-us/dotnet/api/system.uri 'System\.Uri')

## AuthorizationRequest\.RedirectUri Property {#Abblix.Oidc.Server.Model.AuthorizationRequest.RedirectUri}

The OAuth 2\.0 `redirect_uri` \(RFC 6749 §3\.1\.2\) where the authorization response is delivered\.
Must be an absolute URI and must exactly match one of the redirect URIs pre\-registered for the client\.

```csharp
public System.Uri? RedirectUri { get; init; }
```

#### Property Value
[System\.Uri](https://learn.microsoft.com/en-us/dotnet/api/system.uri 'System\.Uri')

## AuthorizationRequest\.Request Property {#Abblix.Oidc.Server.Model.AuthorizationRequest.Request}

A JWT \(JSON Web Token\) that encapsulates the entire authorization request as its payload\.
This parameter is often used to transmit the request securely\.

```csharp
public string? Request { get; init; }
```

#### Property Value
[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')

## AuthorizationRequest\.RequestUri Property {#Abblix.Oidc.Server.Model.AuthorizationRequest.RequestUri}

A URI referencing the Request Object carrying the authorization request parameters as JWT claims:
either an HTTPS URL hosted by the client \(OpenID Connect Core §6\.2\) or the
`urn:ietf:params:oauth:request_uri:` value issued by the pushed authorization request
endpoint \(RFC 9126 §2\.2\)\. Both forms are absolute URIs; scheme\-specific rules are enforced
by the request object fetchers\.

```csharp
public System.Uri? RequestUri { get; init; }
```

#### Property Value
[System\.Uri](https://learn.microsoft.com/en-us/dotnet/api/system.uri 'System\.Uri')

## AuthorizationRequest\.Resources Property {#Abblix.Oidc.Server.Model.AuthorizationRequest.Resources}

Specifies the resource for which the access token is requested\.
As defined in RFC 8707, this parameter is used to request access tokens with a specific scope for a particular
resource\.

```csharp
public System.Uri[]? Resources { get; set; }
```

#### Property Value
[System\.Uri](https://learn.microsoft.com/en-us/dotnet/api/system.uri 'System\.Uri')[\[\]](https://learn.microsoft.com/en-us/dotnet/api/system.array 'System\.Array')

## AuthorizationRequest\.ResponseMode Property {#Abblix.Oidc.Server.Model.AuthorizationRequest.ResponseMode}

The OAuth 2\.0 `response_mode` parameter \(OAuth 2\.0 Multiple Response Types / OAuth 2\.0 Form Post Response Mode\)
selecting how the authorization response is delivered: `query`, `fragment`, `form_post`,
or their JARM JWT\-secured variants `query.jwt`, `fragment.jwt`, `form_post.jwt` and `jwt`\.

```csharp
public string? ResponseMode { get; init; }
```

#### Property Value
[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')

## AuthorizationRequest\.ResponseType Property {#Abblix.Oidc.Server.Model.AuthorizationRequest.ResponseType}

The OAuth 2\.0 `response_type` parameter \(RFC 6749 §3\.1\.1, OIDC Core §3\) that selects the grant flow:
`code` for authorization code,
`token` for the implicit grant access token,
`id_token` for the hybrid/implicit ID token\.
Multiple values are space\-separated and represented here as an array\.

```csharp
public string[]? ResponseType { get; init; }
```

#### Property Value
[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')[\[\]](https://learn.microsoft.com/en-us/dotnet/api/system.array 'System\.Array')

### Remarks
Deliberately not constrained by a declarative value list: authorization response processors
are registered per flow \(the implicit flow is off by default\), and the flow validator rejects
an unsupported part with the protocol\-level unsupported response type error\.

## AuthorizationRequest\.Scope Property {#Abblix.Oidc.Server.Model.AuthorizationRequest.Scope}

The requested scopes, which specify the access privileges requested as part of the authorization\.
Common scopes include 'openid', 'profile', 'email', 'phone', 'address', and 'offline\_access'\.

```csharp
public string[] Scope { get; init; }
```

#### Property Value
[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')[\[\]](https://learn.microsoft.com/en-us/dotnet/api/system.array 'System\.Array')

## AuthorizationRequest\.State Property {#Abblix.Oidc.Server.Model.AuthorizationRequest.State}

The opaque `state` value \(RFC 6749 §4\.1\.1\) returned unchanged in the authorization response
so the client can correlate request and response and protect against cross\-site request forgery\.

```csharp
public string? State { get; init; }
```

#### Property Value
[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')

## AuthorizationRequest\.UiLocales Property {#Abblix.Oidc.Server.Model.AuthorizationRequest.UiLocales}

The OIDC `ui_locales` parameter \(OIDC Core §3\.1\.2\.1\), a preference\-ordered list of BCP 47 language tags
that the client wishes the authorization UI to be rendered in\.

```csharp
public System.Globalization.CultureInfo[]? UiLocales { get; init; }
```

#### Property Value
[System\.Globalization\.CultureInfo](https://learn.microsoft.com/en-us/dotnet/api/system.globalization.cultureinfo 'System\.Globalization\.CultureInfo')[\[\]](https://learn.microsoft.com/en-us/dotnet/api/system.array 'System\.Array')
