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

## TokenAuthorizationContextEvaluator Class

Default [ITokenAuthorizationContextEvaluator](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Token.Interfaces.ITokenAuthorizationContextEvaluator 'Abblix\.Oidc\.Server\.Endpoints\.Token\.Interfaces\.ITokenAuthorizationContextEvaluator'): narrows the originally granted scope and
resource sets to the intersection with what the token request asks for \(RFC 6749 §6 / RFC 8707 §2\.2\),
and, when the client authenticated via mTLS, derives the RFC 8705 §3 `cnf.x5t#S256` certificate
thumbprint to bind the issued tokens\.

```csharp
public class TokenAuthorizationContextEvaluator : Abblix.Oidc.Server.Endpoints.Token.Interfaces.ITokenAuthorizationContextEvaluator
```

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

Implements [ITokenAuthorizationContextEvaluator](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Token.Interfaces.ITokenAuthorizationContextEvaluator 'Abblix\.Oidc\.Server\.Endpoints\.Token\.Interfaces\.ITokenAuthorizationContextEvaluator')
### Methods

## TokenAuthorizationContextEvaluator\.EvaluateAuthorizationContext\(ValidTokenRequest\) Method {#Abblix.Oidc.Server.Endpoints.Token.TokenAuthorizationContextEvaluator.EvaluateAuthorizationContext(Abblix.Oidc.Server.Endpoints.Token.Interfaces.ValidTokenRequest)}

Evaluates and constructs a new [AuthorizationContext](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.AuthorizationContext 'Abblix\.Oidc\.Server\.Common\.AuthorizationContext') by refining and reconciling the scopes and resources
from the original authorization request based on the current token request\.

```csharp
public Abblix.Oidc.Server.Common.AuthorizationContext EvaluateAuthorizationContext(Abblix.Oidc.Server.Endpoints.Token.Interfaces.ValidTokenRequest request);
```
#### Parameters

###### `request` [ValidTokenRequest](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Token.Interfaces.ValidTokenRequest 'Abblix\.Oidc\.Server\.Endpoints\.Token\.Interfaces\.ValidTokenRequest') {#Abblix.Oidc.Server.Endpoints.Token.TokenAuthorizationContextEvaluator.EvaluateAuthorizationContext(Abblix.Oidc.Server.Endpoints.Token.Interfaces.ValidTokenRequest).request}

The valid token request that contains the original authorization grant and any additional
            token\-specific requests\.

Implements [EvaluateAuthorizationContext\(ValidTokenRequest\)](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Token.Interfaces.ITokenAuthorizationContextEvaluator#Abblix.Oidc.Server.Endpoints.Token.Interfaces.ITokenAuthorizationContextEvaluator.EvaluateAuthorizationContext(Abblix.Oidc.Server.Endpoints.Token.Interfaces.ValidTokenRequest) 'Abblix\.Oidc\.Server\.Endpoints\.Token\.Interfaces\.ITokenAuthorizationContextEvaluator\.EvaluateAuthorizationContext\(Abblix\.Oidc\.Server\.Endpoints\.Token\.Interfaces\.ValidTokenRequest\)')

#### Returns
[AuthorizationContext](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.AuthorizationContext 'Abblix\.Oidc\.Server\.Common\.AuthorizationContext')  
An updated [AuthorizationContext](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.AuthorizationContext 'Abblix\.Oidc\.Server\.Common\.AuthorizationContext') that reflects the actual scopes and resources that
            should be considered during the token issuance process\.
