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

## IBackChannelAuthenticationRequestFetcher Interface

Resolves a CIBA request by enriching the raw incoming model with parameters obtained from
out\-of\-band sources, most notably a signed JWT Request Object\. The validation pipeline runs
against the resolved request, not the raw one\.

```csharp
public interface IBackChannelAuthenticationRequestFetcher
```

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

## IBackChannelAuthenticationRequestFetcher\.FetchAsync\(BackChannelAuthenticationRequest\) Method {#Abblix.Oidc.Server.Endpoints.BackChannelAuthentication.RequestFetching.IBackChannelAuthenticationRequestFetcher.FetchAsync(Abblix.Oidc.Server.Model.BackChannelAuthenticationRequest)}

Resolves the effective [BackChannelAuthenticationRequest](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Model.BackChannelAuthenticationRequest 'Abblix\.Oidc\.Server\.Model\.BackChannelAuthenticationRequest'), merging in parameters from
any external source the implementation knows how to read\.

```csharp
System.Threading.Tasks.Task<Abblix.Utils.Result<Abblix.Oidc.Server.Model.BackChannelAuthenticationRequest,Abblix.Oidc.Server.Common.OidcError>> FetchAsync(Abblix.Oidc.Server.Model.BackChannelAuthenticationRequest request);
```
#### Parameters

###### `request` [BackChannelAuthenticationRequest](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Model.BackChannelAuthenticationRequest 'Abblix\.Oidc\.Server\.Model\.BackChannelAuthenticationRequest') {#Abblix.Oidc.Server.Endpoints.BackChannelAuthentication.RequestFetching.IBackChannelAuthenticationRequestFetcher.FetchAsync(Abblix.Oidc.Server.Model.BackChannelAuthenticationRequest).request}

The raw backchannel authentication request as parsed from the wire\.

#### 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')[BackChannelAuthenticationRequest](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Model.BackChannelAuthenticationRequest 'Abblix\.Oidc\.Server\.Model\.BackChannelAuthenticationRequest')[,](https://learn.microsoft.com/en-us/dotnet/api/abblix.utils.result-2 'Abblix\.Utils\.Result\`2')[OidcError](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.OidcError 'Abblix\.Oidc\.Server\.Common\.OidcError')[&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')  
The resolved request on success, or an [OidcError](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.OidcError 'Abblix\.Oidc\.Server\.Common\.OidcError') describing why fetching
            or signature/structure validation of the external source failed\.
