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

## RequestObjectFetchAdapter Class

Adapter class that implements [IAuthorizationRequestFetcher](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Authorization.RequestFetching.IAuthorizationRequestFetcher 'Abblix\.Oidc\.Server\.Endpoints\.Authorization\.RequestFetching\.IAuthorizationRequestFetcher') to delegate the
fetching and processing of request objects to an instance of [IRequestObjectFetcher](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.RequestObject.IRequestObjectFetcher 'Abblix\.Oidc\.Server\.Features\.RequestObject\.IRequestObjectFetcher')\.

```csharp
public class RequestObjectFetchAdapter : Abblix.Oidc.Server.Endpoints.Authorization.RequestFetching.IAuthorizationRequestFetcher
```

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

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

## RequestObjectFetchAdapter\(IRequestObjectFetcher\) Constructor {#Abblix.Oidc.Server.Endpoints.Authorization.RequestFetching.RequestObjectFetchAdapter.RequestObjectFetchAdapter(Abblix.Oidc.Server.Features.RequestObject.IRequestObjectFetcher)}

Adapter class that implements [IAuthorizationRequestFetcher](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Authorization.RequestFetching.IAuthorizationRequestFetcher 'Abblix\.Oidc\.Server\.Endpoints\.Authorization\.RequestFetching\.IAuthorizationRequestFetcher') to delegate the
fetching and processing of request objects to an instance of [IRequestObjectFetcher](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.RequestObject.IRequestObjectFetcher 'Abblix\.Oidc\.Server\.Features\.RequestObject\.IRequestObjectFetcher')\.

```csharp
public RequestObjectFetchAdapter(Abblix.Oidc.Server.Features.RequestObject.IRequestObjectFetcher requestObjectFetcher);
```
#### Parameters

###### `requestObjectFetcher` [IRequestObjectFetcher](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.RequestObject.IRequestObjectFetcher 'Abblix\.Oidc\.Server\.Features\.RequestObject\.IRequestObjectFetcher') {#Abblix.Oidc.Server.Endpoints.Authorization.RequestFetching.RequestObjectFetchAdapter.RequestObjectFetchAdapter(Abblix.Oidc.Server.Features.RequestObject.IRequestObjectFetcher).requestObjectFetcher}

The request object fetcher responsible for fetching and processing
            the JWT request object\.
### Methods

## RequestObjectFetchAdapter\.FetchAsync\(AuthorizationRequest\) Method {#Abblix.Oidc.Server.Endpoints.Authorization.RequestFetching.RequestObjectFetchAdapter.FetchAsync(Abblix.Oidc.Server.Model.AuthorizationRequest)}

Fetches and processes the authorization request by delegating to the request object fetcher\.
The request object JWT is validated and its claims are merged into the authorization request\.
Client identification is performed using the request parameter, JWT issuer claim, or JWT client\_id claim,
with validation ensuring all present sources match\.

```csharp
public System.Threading.Tasks.Task<Abblix.Utils.Result<Abblix.Oidc.Server.Model.AuthorizationRequest,Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.AuthorizationRequestValidationError>> FetchAsync(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.RequestFetching.RequestObjectFetchAdapter.FetchAsync(Abblix.Oidc.Server.Model.AuthorizationRequest).request}

The authorization request to be processed\.

Implements [FetchAsync\(AuthorizationRequest\)](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Authorization.RequestFetching.IAuthorizationRequestFetcher#Abblix.Oidc.Server.Endpoints.Authorization.RequestFetching.IAuthorizationRequestFetcher.FetchAsync(Abblix.Oidc.Server.Model.AuthorizationRequest) 'Abblix\.Oidc\.Server\.Endpoints\.Authorization\.RequestFetching\.IAuthorizationRequestFetcher\.FetchAsync\(Abblix\.Oidc\.Server\.Model\.AuthorizationRequest\)')

#### Returns
[System\.Threading\.Tasks\.Task&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[Abblix\.Utils\.Result&lt;](https://learn.microsoft.com/en-us/dotnet/api/abblix.utils.result-2 'Abblix\.Utils\.Result\`2')[AuthorizationRequest](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Model.AuthorizationRequest 'Abblix\.Oidc\.Server\.Model\.AuthorizationRequest')[,](https://learn.microsoft.com/en-us/dotnet/api/abblix.utils.result-2 'Abblix\.Utils\.Result\`2')[AuthorizationRequestValidationError](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Authorization.Interfaces.AuthorizationRequestValidationError 'Abblix\.Oidc\.Server\.Endpoints\.Authorization\.Interfaces\.AuthorizationRequestValidationError')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/abblix.utils.result-2 'Abblix\.Utils\.Result\`2')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')  
A task that returns a [Abblix\.Utils\.Result&lt;&gt;](https://learn.microsoft.com/en-us/dotnet/api/abblix.utils.result-2 'Abblix\.Utils\.Result\`2')
which either represents a successfully processed request with merged JWT claims or an error indicating
issues with the request object validation \(invalid JWT, client identification failure, or claim mismatch\)\.
