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

## UserInfoRequestProcessor Class

Default [IUserInfoRequestProcessor](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.UserInfo.Interfaces.IUserInfoRequestProcessor 'Abblix\.Oidc\.Server\.Endpoints\.UserInfo\.Interfaces\.IUserInfoRequestProcessor'): assembles the UserInfo claims set from
[IUserClaimsProvider](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.UserInfo.IUserClaimsProvider 'Abblix\.Oidc\.Server\.Features\.UserInfo\.IUserClaimsProvider'), filtered by the access token's authorized scopes and any
`userinfo` entry of the OIDC Core §5\.5 `claims` request\. Returns
[InvalidToken](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.Constants.ErrorCodes#Abblix.Oidc.Server.Common.Constants.ErrorCodes.InvalidToken 'Abblix\.Oidc\.Server\.Common\.Constants\.ErrorCodes\.InvalidToken') if no claims are produced for the subject\.

```csharp
public class UserInfoRequestProcessor : Abblix.Oidc.Server.Endpoints.UserInfo.Interfaces.IUserInfoRequestProcessor
```

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

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

## UserInfoRequestProcessor\(IIssuerProvider, IUserClaimsProvider\) Constructor {#Abblix.Oidc.Server.Endpoints.UserInfo.UserInfoRequestProcessor.UserInfoRequestProcessor(Abblix.Oidc.Server.Features.Issuer.IIssuerProvider,Abblix.Oidc.Server.Features.UserInfo.IUserClaimsProvider)}

Default [IUserInfoRequestProcessor](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.UserInfo.Interfaces.IUserInfoRequestProcessor 'Abblix\.Oidc\.Server\.Endpoints\.UserInfo\.Interfaces\.IUserInfoRequestProcessor'): assembles the UserInfo claims set from
[IUserClaimsProvider](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.UserInfo.IUserClaimsProvider 'Abblix\.Oidc\.Server\.Features\.UserInfo\.IUserClaimsProvider'), filtered by the access token's authorized scopes and any
`userinfo` entry of the OIDC Core §5\.5 `claims` request\. Returns
[InvalidToken](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.Constants.ErrorCodes#Abblix.Oidc.Server.Common.Constants.ErrorCodes.InvalidToken 'Abblix\.Oidc\.Server\.Common\.Constants\.ErrorCodes\.InvalidToken') if no claims are produced for the subject\.

```csharp
public UserInfoRequestProcessor(Abblix.Oidc.Server.Features.Issuer.IIssuerProvider issuerProvider, Abblix.Oidc.Server.Features.UserInfo.IUserClaimsProvider userClaimsProvider);
```
#### Parameters

###### `issuerProvider` [IIssuerProvider](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.Issuer.IIssuerProvider 'Abblix\.Oidc\.Server\.Features\.Issuer\.IIssuerProvider') {#Abblix.Oidc.Server.Endpoints.UserInfo.UserInfoRequestProcessor.UserInfoRequestProcessor(Abblix.Oidc.Server.Features.Issuer.IIssuerProvider,Abblix.Oidc.Server.Features.UserInfo.IUserClaimsProvider).issuerProvider}

###### `userClaimsProvider` [IUserClaimsProvider](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.UserInfo.IUserClaimsProvider 'Abblix\.Oidc\.Server\.Features\.UserInfo\.IUserClaimsProvider') {#Abblix.Oidc.Server.Endpoints.UserInfo.UserInfoRequestProcessor.UserInfoRequestProcessor(Abblix.Oidc.Server.Features.Issuer.IIssuerProvider,Abblix.Oidc.Server.Features.UserInfo.IUserClaimsProvider).userClaimsProvider}
### Methods

## UserInfoRequestProcessor\.ProcessAsync\(ValidUserInfoRequest\) Method {#Abblix.Oidc.Server.Endpoints.UserInfo.UserInfoRequestProcessor.ProcessAsync(Abblix.Oidc.Server.Endpoints.UserInfo.Interfaces.ValidUserInfoRequest)}

Asynchronously processes a valid user information request and returns a structured response containing
the requested user information\.

```csharp
public System.Threading.Tasks.Task<Abblix.Utils.Result<Abblix.Oidc.Server.Endpoints.UserInfo.Interfaces.UserInfoFoundResponse,Abblix.Oidc.Server.Common.OidcError>> ProcessAsync(Abblix.Oidc.Server.Endpoints.UserInfo.Interfaces.ValidUserInfoRequest request);
```
#### Parameters

###### `request` [ValidUserInfoRequest](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.UserInfo.Interfaces.ValidUserInfoRequest 'Abblix\.Oidc\.Server\.Endpoints\.UserInfo\.Interfaces\.ValidUserInfoRequest') {#Abblix.Oidc.Server.Endpoints.UserInfo.UserInfoRequestProcessor.ProcessAsync(Abblix.Oidc.Server.Endpoints.UserInfo.Interfaces.ValidUserInfoRequest).request}

The valid user information request containing the authentication session,
            authorization context and client information necessary to determine the scope and specifics of
            the requested claims\.

Implements [ProcessAsync\(ValidUserInfoRequest\)](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.UserInfo.Interfaces.IUserInfoRequestProcessor#Abblix.Oidc.Server.Endpoints.UserInfo.Interfaces.IUserInfoRequestProcessor.ProcessAsync(Abblix.Oidc.Server.Endpoints.UserInfo.Interfaces.ValidUserInfoRequest) 'Abblix\.Oidc\.Server\.Endpoints\.UserInfo\.Interfaces\.IUserInfoRequestProcessor\.ProcessAsync\(Abblix\.Oidc\.Server\.Endpoints\.UserInfo\.Interfaces\.ValidUserInfoRequest\)')

#### 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')[UserInfoFoundResponse](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.UserInfo.Interfaces.UserInfoFoundResponse 'Abblix\.Oidc\.Server\.Endpoints\.UserInfo\.Interfaces\.UserInfoFoundResponse')[,](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')  
A [System\.Threading\.Tasks\.Task](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task 'System\.Threading\.Tasks\.Task') representing the asynchronous operation,
            which upon completion will yield a [Abblix\.Utils\.Result&lt;&gt;](https://learn.microsoft.com/en-us/dotnet/api/abblix.utils.result-2 'Abblix\.Utils\.Result\`2') encapsulating either the user's claims
            or an error response\.
