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

## UserInfoResponseFormatter Class

Formatter for user information responses\.

```csharp
public class UserInfoResponseFormatter : Abblix.Oidc.Server.Mvc.Formatters.Interfaces.IUserInfoResponseFormatter
```

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

Implements [IUserInfoResponseFormatter](https://www.abblix.com/en/docs/api/abblix-oidc-server-mvc/Abblix.Oidc.Server.Mvc.Formatters.Interfaces.IUserInfoResponseFormatter 'Abblix\.Oidc\.Server\.Mvc\.Formatters\.Interfaces\.IUserInfoResponseFormatter')
### Constructors

## UserInfoResponseFormatter\(TimeProvider, IClientJwtFormatter, IIssuerProvider, IOptionsSnapshot\<OidcOptions\>\) Constructor {#Abblix.Oidc.Server.Mvc.Formatters.UserInfoResponseFormatter.UserInfoResponseFormatter(System.TimeProvider,Abblix.Oidc.Server.Features.Tokens.Formatters.IClientJwtFormatter,Abblix.Oidc.Server.Features.Issuer.IIssuerProvider,Microsoft.Extensions.Options.IOptionsSnapshot_Abblix.Oidc.Server.Common.Configuration.OidcOptions_)}

Formatter for user information responses\.

```csharp
public UserInfoResponseFormatter(System.TimeProvider clock, Abblix.Oidc.Server.Features.Tokens.Formatters.IClientJwtFormatter clientJwtFormatter, Abblix.Oidc.Server.Features.Issuer.IIssuerProvider issuerProvider, Microsoft.Extensions.Options.IOptionsSnapshot<Abblix.Oidc.Server.Common.Configuration.OidcOptions> options);
```
#### Parameters

###### `clock` [System\.TimeProvider](https://learn.microsoft.com/en-us/dotnet/api/system.timeprovider 'System\.TimeProvider') {#Abblix.Oidc.Server.Mvc.Formatters.UserInfoResponseFormatter.UserInfoResponseFormatter(System.TimeProvider,Abblix.Oidc.Server.Features.Tokens.Formatters.IClientJwtFormatter,Abblix.Oidc.Server.Features.Issuer.IIssuerProvider,Microsoft.Extensions.Options.IOptionsSnapshot_Abblix.Oidc.Server.Common.Configuration.OidcOptions_).clock}

###### `clientJwtFormatter` [IClientJwtFormatter](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.Tokens.Formatters.IClientJwtFormatter 'Abblix\.Oidc\.Server\.Features\.Tokens\.Formatters\.IClientJwtFormatter') {#Abblix.Oidc.Server.Mvc.Formatters.UserInfoResponseFormatter.UserInfoResponseFormatter(System.TimeProvider,Abblix.Oidc.Server.Features.Tokens.Formatters.IClientJwtFormatter,Abblix.Oidc.Server.Features.Issuer.IIssuerProvider,Microsoft.Extensions.Options.IOptionsSnapshot_Abblix.Oidc.Server.Common.Configuration.OidcOptions_).clientJwtFormatter}

###### `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.Mvc.Formatters.UserInfoResponseFormatter.UserInfoResponseFormatter(System.TimeProvider,Abblix.Oidc.Server.Features.Tokens.Formatters.IClientJwtFormatter,Abblix.Oidc.Server.Features.Issuer.IIssuerProvider,Microsoft.Extensions.Options.IOptionsSnapshot_Abblix.Oidc.Server.Common.Configuration.OidcOptions_).issuerProvider}

###### `options` [Microsoft\.Extensions\.Options\.IOptionsSnapshot&lt;](https://learn.microsoft.com/en-us/dotnet/api/microsoft.extensions.options.ioptionssnapshot-1 'Microsoft\.Extensions\.Options\.IOptionsSnapshot\`1')[OidcOptions](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.Configuration.OidcOptions 'Abblix\.Oidc\.Server\.Common\.Configuration\.OidcOptions')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/microsoft.extensions.options.ioptionssnapshot-1 'Microsoft\.Extensions\.Options\.IOptionsSnapshot\`1') {#Abblix.Oidc.Server.Mvc.Formatters.UserInfoResponseFormatter.UserInfoResponseFormatter(System.TimeProvider,Abblix.Oidc.Server.Features.Tokens.Formatters.IClientJwtFormatter,Abblix.Oidc.Server.Features.Issuer.IIssuerProvider,Microsoft.Extensions.Options.IOptionsSnapshot_Abblix.Oidc.Server.Common.Configuration.OidcOptions_).options}
### Methods

## UserInfoResponseFormatter\.FormatResponseAsync\(UserInfoRequest, Result\<UserInfoFoundResponse,OidcError\>\) Method {#Abblix.Oidc.Server.Mvc.Formatters.UserInfoResponseFormatter.FormatResponseAsync(Abblix.Oidc.Server.Model.UserInfoRequest,Abblix.Utils.Result_Abblix.Oidc.Server.Endpoints.UserInfo.Interfaces.UserInfoFoundResponse,Abblix.Oidc.Server.Common.OidcError_)}

Asynchronously formats the response for a user information request\.

```csharp
public System.Threading.Tasks.Task<Microsoft.AspNetCore.Mvc.ActionResult> FormatResponseAsync(Abblix.Oidc.Server.Model.UserInfoRequest request, Abblix.Utils.Result<Abblix.Oidc.Server.Endpoints.UserInfo.Interfaces.UserInfoFoundResponse,Abblix.Oidc.Server.Common.OidcError> response);
```
#### Parameters

###### `request` [UserInfoRequest](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Model.UserInfoRequest 'Abblix\.Oidc\.Server\.Model\.UserInfoRequest') {#Abblix.Oidc.Server.Mvc.Formatters.UserInfoResponseFormatter.FormatResponseAsync(Abblix.Oidc.Server.Model.UserInfoRequest,Abblix.Utils.Result_Abblix.Oidc.Server.Endpoints.UserInfo.Interfaces.UserInfoFoundResponse,Abblix.Oidc.Server.Common.OidcError_).request}

The user information request\.

###### `response` [Abblix\.Utils\.Result&lt;](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ '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://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ '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://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\`2') {#Abblix.Oidc.Server.Mvc.Formatters.UserInfoResponseFormatter.FormatResponseAsync(Abblix.Oidc.Server.Model.UserInfoRequest,Abblix.Utils.Result_Abblix.Oidc.Server.Endpoints.UserInfo.Interfaces.UserInfoFoundResponse,Abblix.Oidc.Server.Common.OidcError_).response}

The response from the user information endpoint\.

Implements [FormatResponseAsync\(UserInfoRequest, Result&lt;UserInfoFoundResponse,OidcError&gt;\)](https://www.abblix.com/en/docs/api/abblix-oidc-server-mvc/Abblix.Oidc.Server.Mvc.Formatters.Interfaces.IUserInfoResponseFormatter#Abblix.Oidc.Server.Mvc.Formatters.Interfaces.IUserInfoResponseFormatter.FormatResponseAsync(Abblix.Oidc.Server.Model.UserInfoRequest,Abblix.Utils.Result_Abblix.Oidc.Server.Endpoints.UserInfo.Interfaces.UserInfoFoundResponse,Abblix.Oidc.Server.Common.OidcError_) 'Abblix\.Oidc\.Server\.Mvc\.Formatters\.Interfaces\.IUserInfoResponseFormatter\.FormatResponseAsync\(Abblix\.Oidc\.Server\.Model\.UserInfoRequest, Abblix\.Utils\.Result\<Abblix\.Oidc\.Server\.Endpoints\.UserInfo\.Interfaces\.UserInfoFoundResponse,Abblix\.Oidc\.Server\.Common\.OidcError\>\)')

#### Returns
[System\.Threading\.Tasks\.Task&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[Microsoft\.AspNetCore\.Mvc\.ActionResult](https://learn.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.mvc.actionresult 'Microsoft\.AspNetCore\.Mvc\.ActionResult')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')  
A task that returns the formatted user information response\.

### Remarks
This method handles different types of user information responses and formats them
into appropriate HTTP action results\.
