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

## IAuthorizationHandler Interface

Defines a contract for handling authorization requests, ensuring they are processed according to OAuth 2\.0
and OpenID Connect protocol specifications\.

```csharp
public interface IAuthorizationHandler
```

Derived  
↳ [AuthorizationHandler](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Authorization.AuthorizationHandler 'Abblix\.Oidc\.Server\.Endpoints\.Authorization\.AuthorizationHandler')
### Methods

## IAuthorizationHandler\.HandleAsync\(AuthorizationRequest\) Method {#Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.IAuthorizationHandler.HandleAsync(Abblix.Oidc.Server.Model.AuthorizationRequest)}

Asynchronously processes an authorization request, validating its parameters and generating an appropriate
response that either grants or denies the authorization based on the application's logic and security requirements\.

```csharp
System.Threading.Tasks.Task<Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.AuthorizationResponse> HandleAsync(Abblix.Oidc.Server.Model.AuthorizationRequest request);
```
#### Parameters

###### `request` [AuthorizationRequest](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Model.AuthorizationRequest 'Abblix\.Oidc\.Server\.Model\.AuthorizationRequest') {#Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.IAuthorizationHandler.HandleAsync(Abblix.Oidc.Server.Model.AuthorizationRequest).request}

The authorization request containing necessary information for processing,
            such as client ID, requested scopes, redirect URI, and other protocol\-specific parameters\.

#### Returns
[System\.Threading\.Tasks\.Task&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[AuthorizationResponse](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.AuthorizationResponse 'Abblix\.Oidc\.Server\.Endpoints\.Authorization\.Interfaces\.AuthorizationResponse')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')  
A task that results in an [AuthorizationResponse](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.AuthorizationResponse 'Abblix\.Oidc\.Server\.Endpoints\.Authorization\.Interfaces\.AuthorizationResponse'), encapsulating either a successful
            authorization with tokens and additional data or an error response indicating why the authorization failed\.

### Remarks
Implementations of this interface are responsible for the core logic associated with the OAuth 2\.0 and OpenID Connect
authorization process, including but not limited to, validating request integrity, authenticating the user,
obtaining user consent and issuing authorization codes or tokens\.
This method is central to the authorization endpoint's functionality\.
