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

## IPushedAuthorizationHandler Interface

Defines the contract for handling Pushed Authorization Requests \(PAR\) as specified in OAuth 2\.0 and OpenID Connect\.
Ensures that implementations can validate and process these requests in a secure and compliant manner\.

```csharp
public interface IPushedAuthorizationHandler
```

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

## IPushedAuthorizationHandler\.HandleAsync\(AuthorizationRequest, ClientRequest\) Method {#Abblix.Oidc.Server.Endpoints.PushedAuthorization.Interfaces.IPushedAuthorizationHandler.HandleAsync(Abblix.Oidc.Server.Model.AuthorizationRequest,Abblix.Oidc.Server.Model.ClientRequest)}

Asynchronously handles and processes a Pushed Authorization Request, ensuring it complies with OAuth 2\.0
and OpenID Connect specifications\.

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

###### `authorizationRequest` [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.PushedAuthorization.Interfaces.IPushedAuthorizationHandler.HandleAsync(Abblix.Oidc.Server.Model.AuthorizationRequest,Abblix.Oidc.Server.Model.ClientRequest).authorizationRequest}

An instance of [AuthorizationRequest](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Model.AuthorizationRequest 'Abblix\.Oidc\.Server\.Model\.AuthorizationRequest') representing the details
            of the authorization request submitted by the client\.

###### `clientRequest` [ClientRequest](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Model.ClientRequest 'Abblix\.Oidc\.Server\.Model\.ClientRequest') {#Abblix.Oidc.Server.Endpoints.PushedAuthorization.Interfaces.IPushedAuthorizationHandler.HandleAsync(Abblix.Oidc.Server.Model.AuthorizationRequest,Abblix.Oidc.Server.Model.ClientRequest).clientRequest}

An instance of [ClientRequest](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Model.ClientRequest 'Abblix\.Oidc\.Server\.Model\.ClientRequest') providing additional information about
            the client making the request, used for contextual validation\.

#### 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 [System\.Threading\.Tasks\.Task](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task 'System\.Threading\.Tasks\.Task') that resolves to 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'), indicating the outcome of the
request processing\. The response can be a successful authorization or an error response if the request
fails validation or processing\.

### Remarks
This method is central to the PAR mechanism, enabling clients to pre\-register authorization requests\.
It validates the request against system policies and, if valid, processes it to generate a unique request URI
or returns an error if the request is invalid or unauthorized\. This approach enhances security by minimizing
the exposure of sensitive information in subsequent authorization requests\.
