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

## AuthorizationContext Class

Represents the context of an authorization process

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

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

Implements [Google\.Protobuf\.IMessage&lt;](https://learn.microsoft.com/en-us/dotnet/api/google.protobuf.imessage-1 'Google\.Protobuf\.IMessage\`1')[AuthorizationContext](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.Storages.Proto.AuthorizationContext 'Abblix\.Oidc\.Server\.Features\.Storages\.Proto\.AuthorizationContext')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/google.protobuf.imessage-1 'Google\.Protobuf\.IMessage\`1'), [Google\.Protobuf\.IMessage](https://learn.microsoft.com/en-us/dotnet/api/google.protobuf.imessage 'Google\.Protobuf\.IMessage'), [System\.IEquatable&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.iequatable-1 'System\.IEquatable\`1')[AuthorizationContext](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.Storages.Proto.AuthorizationContext 'Abblix\.Oidc\.Server\.Features\.Storages\.Proto\.AuthorizationContext')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.iequatable-1 'System\.IEquatable\`1'), [Google\.Protobuf\.IDeepCloneable&lt;](https://learn.microsoft.com/en-us/dotnet/api/google.protobuf.ideepcloneable-1 'Google\.Protobuf\.IDeepCloneable\`1')[AuthorizationContext](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.Storages.Proto.AuthorizationContext 'Abblix\.Oidc\.Server\.Features\.Storages\.Proto\.AuthorizationContext')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/google.protobuf.ideepcloneable-1 'Google\.Protobuf\.IDeepCloneable\`1'), [Google\.Protobuf\.IBufferMessage](https://learn.microsoft.com/en-us/dotnet/api/google.protobuf.ibuffermessage 'Google\.Protobuf\.IBufferMessage')
### Fields

## AuthorizationContext\.ActorJsonFieldNumber Field {#Abblix.Oidc.Server.Features.Storages.Proto.AuthorizationContext.ActorJsonFieldNumber}

Field number for the "actor\_json" field\.

```csharp
public const int ActorJsonFieldNumber = 12;
```

#### Field Value
[System\.Int32](https://learn.microsoft.com/en-us/dotnet/api/system.int32 'System\.Int32')

## AuthorizationContext\.AuthorizationDetailsJsonFieldNumber Field {#Abblix.Oidc.Server.Features.Storages.Proto.AuthorizationContext.AuthorizationDetailsJsonFieldNumber}

Field number for the "authorization\_details\_json" field\.

```csharp
public const int AuthorizationDetailsJsonFieldNumber = 11;
```

#### Field Value
[System\.Int32](https://learn.microsoft.com/en-us/dotnet/api/system.int32 'System\.Int32')

## AuthorizationContext\.CertificateSha256ThumbprintFieldNumber Field {#Abblix.Oidc.Server.Features.Storages.Proto.AuthorizationContext.CertificateSha256ThumbprintFieldNumber}

Field number for the "certificate\_sha256\_thumbprint" field\.

```csharp
public const int CertificateSha256ThumbprintFieldNumber = 4;
```

#### Field Value
[System\.Int32](https://learn.microsoft.com/en-us/dotnet/api/system.int32 'System\.Int32')

## AuthorizationContext\.ClientIdFieldNumber Field {#Abblix.Oidc.Server.Features.Storages.Proto.AuthorizationContext.ClientIdFieldNumber}

Field number for the "client\_id" field\.

```csharp
public const int ClientIdFieldNumber = 1;
```

#### Field Value
[System\.Int32](https://learn.microsoft.com/en-us/dotnet/api/system.int32 'System\.Int32')

## AuthorizationContext\.CodeChallengeFieldNumber Field {#Abblix.Oidc.Server.Features.Storages.Proto.AuthorizationContext.CodeChallengeFieldNumber}

Field number for the "code\_challenge" field\.

```csharp
public const int CodeChallengeFieldNumber = 7;
```

#### Field Value
[System\.Int32](https://learn.microsoft.com/en-us/dotnet/api/system.int32 'System\.Int32')

## AuthorizationContext\.CodeChallengeMethodFieldNumber Field {#Abblix.Oidc.Server.Features.Storages.Proto.AuthorizationContext.CodeChallengeMethodFieldNumber}

Field number for the "code\_challenge\_method" field\.

```csharp
public const int CodeChallengeMethodFieldNumber = 8;
```

#### Field Value
[System\.Int32](https://learn.microsoft.com/en-us/dotnet/api/system.int32 'System\.Int32')

## AuthorizationContext\.NonceFieldNumber Field {#Abblix.Oidc.Server.Features.Storages.Proto.AuthorizationContext.NonceFieldNumber}

Field number for the "nonce" field\.

```csharp
public const int NonceFieldNumber = 6;
```

#### Field Value
[System\.Int32](https://learn.microsoft.com/en-us/dotnet/api/system.int32 'System\.Int32')

## AuthorizationContext\.ProofKeyThumbprintFieldNumber Field {#Abblix.Oidc.Server.Features.Storages.Proto.AuthorizationContext.ProofKeyThumbprintFieldNumber}

Field number for the "proof\_key\_thumbprint" field\.

```csharp
public const int ProofKeyThumbprintFieldNumber = 10;
```

#### Field Value
[System\.Int32](https://learn.microsoft.com/en-us/dotnet/api/system.int32 'System\.Int32')

## AuthorizationContext\.RedirectUriFieldNumber Field {#Abblix.Oidc.Server.Features.Storages.Proto.AuthorizationContext.RedirectUriFieldNumber}

Field number for the "redirect\_uri" field\.

```csharp
public const int RedirectUriFieldNumber = 5;
```

#### Field Value
[System\.Int32](https://learn.microsoft.com/en-us/dotnet/api/system.int32 'System\.Int32')

## AuthorizationContext\.RequestedClaimsFieldNumber Field {#Abblix.Oidc.Server.Features.Storages.Proto.AuthorizationContext.RequestedClaimsFieldNumber}

Field number for the "requested\_claims" field\.

```csharp
public const int RequestedClaimsFieldNumber = 3;
```

#### Field Value
[System\.Int32](https://learn.microsoft.com/en-us/dotnet/api/system.int32 'System\.Int32')

## AuthorizationContext\.ResourcesFieldNumber Field {#Abblix.Oidc.Server.Features.Storages.Proto.AuthorizationContext.ResourcesFieldNumber}

Field number for the "resources" field\.

```csharp
public const int ResourcesFieldNumber = 9;
```

#### Field Value
[System\.Int32](https://learn.microsoft.com/en-us/dotnet/api/system.int32 'System\.Int32')

## AuthorizationContext\.ScopeFieldNumber Field {#Abblix.Oidc.Server.Features.Storages.Proto.AuthorizationContext.ScopeFieldNumber}

Field number for the "scope" field\.

```csharp
public const int ScopeFieldNumber = 2;
```

#### Field Value
[System\.Int32](https://learn.microsoft.com/en-us/dotnet/api/system.int32 'System\.Int32')
### Properties

## AuthorizationContext\.ActorJson Property {#Abblix.Oidc.Server.Features.Storages.Proto.AuthorizationContext.ActorJson}

RFC 8693 Section 4\.1 act claim chain, serialised as a JSON string\. Stored as
opaque JSON because the act object may carry arbitrary actor metadata and nested
act\.act delegation chains; round\-trip preserves byte\-exact shape\.

```csharp
public string ActorJson { get; set; }
```

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

## AuthorizationContext\.AuthorizationDetailsJson Property {#Abblix.Oidc.Server.Features.Storages.Proto.AuthorizationContext.AuthorizationDetailsJson}

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 exact wire shape including
unknown members the per\-type validator did not strip\.

```csharp
public string AuthorizationDetailsJson { get; set; }
```

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

## AuthorizationContext\.CertificateSha256Thumbprint Property {#Abblix.Oidc.Server.Features.Storages.Proto.AuthorizationContext.CertificateSha256Thumbprint}

Base64url\-encoded SHA\-256 thumbprint of the client X\.509 certificate \(RFC 8705 §3\.1\)\.
Tag 4 retained for wire\-compat; field renamed from x509\_certificate\_sha256\_thumbprint
to align with the canonical C\# domain property and the cnf\-member naming\.

```csharp
public string CertificateSha256Thumbprint { get; set; }
```

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

## AuthorizationContext\.ClientId Property {#Abblix.Oidc.Server.Features.Storages.Proto.AuthorizationContext.ClientId}

The unique identifier of the client

```csharp
public string ClientId { get; set; }
```

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

## AuthorizationContext\.CodeChallenge Property {#Abblix.Oidc.Server.Features.Storages.Proto.AuthorizationContext.CodeChallenge}

PKCE code challenge

```csharp
public string CodeChallenge { get; set; }
```

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

## AuthorizationContext\.CodeChallengeMethod Property {#Abblix.Oidc.Server.Features.Storages.Proto.AuthorizationContext.CodeChallengeMethod}

PKCE code challenge method

```csharp
public string CodeChallengeMethod { get; set; }
```

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

## AuthorizationContext\.HasActorJson Property {#Abblix.Oidc.Server.Features.Storages.Proto.AuthorizationContext.HasActorJson}

Gets whether the "actor\_json" field is set

```csharp
public bool HasActorJson { get; }
```

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

## AuthorizationContext\.HasAuthorizationDetailsJson Property {#Abblix.Oidc.Server.Features.Storages.Proto.AuthorizationContext.HasAuthorizationDetailsJson}

Gets whether the "authorization\_details\_json" field is set

```csharp
public bool HasAuthorizationDetailsJson { get; }
```

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

## AuthorizationContext\.HasCertificateSha256Thumbprint Property {#Abblix.Oidc.Server.Features.Storages.Proto.AuthorizationContext.HasCertificateSha256Thumbprint}

Gets whether the "certificate\_sha256\_thumbprint" field is set

```csharp
public bool HasCertificateSha256Thumbprint { get; }
```

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

## AuthorizationContext\.HasCodeChallenge Property {#Abblix.Oidc.Server.Features.Storages.Proto.AuthorizationContext.HasCodeChallenge}

Gets whether the "code\_challenge" field is set

```csharp
public bool HasCodeChallenge { get; }
```

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

## AuthorizationContext\.HasCodeChallengeMethod Property {#Abblix.Oidc.Server.Features.Storages.Proto.AuthorizationContext.HasCodeChallengeMethod}

Gets whether the "code\_challenge\_method" field is set

```csharp
public bool HasCodeChallengeMethod { get; }
```

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

## AuthorizationContext\.HasNonce Property {#Abblix.Oidc.Server.Features.Storages.Proto.AuthorizationContext.HasNonce}

Gets whether the "nonce" field is set

```csharp
public bool HasNonce { get; }
```

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

## AuthorizationContext\.HasProofKeyThumbprint Property {#Abblix.Oidc.Server.Features.Storages.Proto.AuthorizationContext.HasProofKeyThumbprint}

Gets whether the "proof\_key\_thumbprint" field is set

```csharp
public bool HasProofKeyThumbprint { get; }
```

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

## AuthorizationContext\.HasRedirectUri Property {#Abblix.Oidc.Server.Features.Storages.Proto.AuthorizationContext.HasRedirectUri}

Gets whether the "redirect\_uri" field is set

```csharp
public bool HasRedirectUri { get; }
```

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

## AuthorizationContext\.Nonce Property {#Abblix.Oidc.Server.Features.Storages.Proto.AuthorizationContext.Nonce}

Nonce value to associate client session with ID Token

```csharp
public string Nonce { get; set; }
```

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

## AuthorizationContext\.ProofKeyThumbprint Property {#Abblix.Oidc.Server.Features.Storages.Proto.AuthorizationContext.ProofKeyThumbprint}

RFC 7638 base64url\-encoded JWK thumbprint of the DPoP proof\-of\-possession key
bound to this authorization \(RFC 9449 §6\.1\)\. Carried into cnf\.jkt on the issued
access token so the binding survives auth\-code / refresh\-token persistence\.

```csharp
public string ProofKeyThumbprint { get; set; }
```

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

## AuthorizationContext\.RedirectUri Property {#Abblix.Oidc.Server.Features.Storages.Proto.AuthorizationContext.RedirectUri}

The URI where the authorization response should be sent

```csharp
public string RedirectUri { get; set; }
```

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

## AuthorizationContext\.RequestedClaims Property {#Abblix.Oidc.Server.Features.Storages.Proto.AuthorizationContext.RequestedClaims}

Optional claims requested by the client

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

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

## AuthorizationContext\.Resources Property {#Abblix.Oidc.Server.Features.Storages.Proto.AuthorizationContext.Resources}

Resources for which authorization is granted

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

#### Property Value
[Google\.Protobuf\.Collections\.RepeatedField&lt;](https://learn.microsoft.com/en-us/dotnet/api/google.protobuf.collections.repeatedfield-1 'Google\.Protobuf\.Collections\.RepeatedField\`1')[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/google.protobuf.collections.repeatedfield-1 'Google\.Protobuf\.Collections\.RepeatedField\`1')

## AuthorizationContext\.Scope Property {#Abblix.Oidc.Server.Features.Storages.Proto.AuthorizationContext.Scope}

The requested scopes

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

#### Property Value
[Google\.Protobuf\.Collections\.RepeatedField&lt;](https://learn.microsoft.com/en-us/dotnet/api/google.protobuf.collections.repeatedfield-1 'Google\.Protobuf\.Collections\.RepeatedField\`1')[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/google.protobuf.collections.repeatedfield-1 'Google\.Protobuf\.Collections\.RepeatedField\`1')
### Methods

## AuthorizationContext\.ClearActorJson\(\) Method {#Abblix.Oidc.Server.Features.Storages.Proto.AuthorizationContext.ClearActorJson()}

Clears the value of the "actor\_json" field

```csharp
public void ClearActorJson();
```

## AuthorizationContext\.ClearAuthorizationDetailsJson\(\) Method {#Abblix.Oidc.Server.Features.Storages.Proto.AuthorizationContext.ClearAuthorizationDetailsJson()}

Clears the value of the "authorization\_details\_json" field

```csharp
public void ClearAuthorizationDetailsJson();
```

## AuthorizationContext\.ClearCertificateSha256Thumbprint\(\) Method {#Abblix.Oidc.Server.Features.Storages.Proto.AuthorizationContext.ClearCertificateSha256Thumbprint()}

Clears the value of the "certificate\_sha256\_thumbprint" field

```csharp
public void ClearCertificateSha256Thumbprint();
```

## AuthorizationContext\.ClearCodeChallenge\(\) Method {#Abblix.Oidc.Server.Features.Storages.Proto.AuthorizationContext.ClearCodeChallenge()}

Clears the value of the "code\_challenge" field

```csharp
public void ClearCodeChallenge();
```

## AuthorizationContext\.ClearCodeChallengeMethod\(\) Method {#Abblix.Oidc.Server.Features.Storages.Proto.AuthorizationContext.ClearCodeChallengeMethod()}

Clears the value of the "code\_challenge\_method" field

```csharp
public void ClearCodeChallengeMethod();
```

## AuthorizationContext\.ClearNonce\(\) Method {#Abblix.Oidc.Server.Features.Storages.Proto.AuthorizationContext.ClearNonce()}

Clears the value of the "nonce" field

```csharp
public void ClearNonce();
```

## AuthorizationContext\.ClearProofKeyThumbprint\(\) Method {#Abblix.Oidc.Server.Features.Storages.Proto.AuthorizationContext.ClearProofKeyThumbprint()}

Clears the value of the "proof\_key\_thumbprint" field

```csharp
public void ClearProofKeyThumbprint();
```

## AuthorizationContext\.ClearRedirectUri\(\) Method {#Abblix.Oidc.Server.Features.Storages.Proto.AuthorizationContext.ClearRedirectUri()}

Clears the value of the "redirect\_uri" field

```csharp
public void ClearRedirectUri();
```
