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

## ConfigurationResponseFormatter Class

Builds the OpenID Connect discovery document by enriching the core metadata with endpoint URLs resolved from the
configured route templates and the current request's base URL, then returns it as a JSON [Microsoft\.AspNetCore\.Http\.IResult](https://learn.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.http.iresult 'Microsoft\.AspNetCore\.Http\.IResult')\.

```csharp
public class ConfigurationResponseFormatter : Abblix.Oidc.Server.MinimalApi.Formatters.Interfaces.IConfigurationResponseFormatter
```

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

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

## ConfigurationResponseFormatter\(IOptionsSnapshot\<OidcOptions\>, IHttpContextAccessor, LinkGenerator, ISignedMetadataProvider\) Constructor {#Abblix.Oidc.Server.MinimalApi.Formatters.ConfigurationResponseFormatter.ConfigurationResponseFormatter(Microsoft.Extensions.Options.IOptionsSnapshot_Abblix.Oidc.Server.Common.Configuration.OidcOptions_,Microsoft.AspNetCore.Http.IHttpContextAccessor,Microsoft.AspNetCore.Routing.LinkGenerator,Abblix.Oidc.Server.Endpoints.Configuration.Interfaces.ISignedMetadataProvider)}

Builds the OpenID Connect discovery document by enriching the core metadata with endpoint URLs resolved from the
configured route templates and the current request's base URL, then returns it as a JSON [Microsoft\.AspNetCore\.Http\.IResult](https://learn.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.http.iresult 'Microsoft\.AspNetCore\.Http\.IResult')\.

```csharp
public ConfigurationResponseFormatter(Microsoft.Extensions.Options.IOptionsSnapshot<Abblix.Oidc.Server.Common.Configuration.OidcOptions> options, Microsoft.AspNetCore.Http.IHttpContextAccessor httpContextAccessor, Microsoft.AspNetCore.Routing.LinkGenerator linkGenerator, Abblix.Oidc.Server.Endpoints.Configuration.Interfaces.ISignedMetadataProvider signedMetadataProvider);
```
#### Parameters

###### `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.MinimalApi.Formatters.ConfigurationResponseFormatter.ConfigurationResponseFormatter(Microsoft.Extensions.Options.IOptionsSnapshot_Abblix.Oidc.Server.Common.Configuration.OidcOptions_,Microsoft.AspNetCore.Http.IHttpContextAccessor,Microsoft.AspNetCore.Routing.LinkGenerator,Abblix.Oidc.Server.Endpoints.Configuration.Interfaces.ISignedMetadataProvider).options}

###### `httpContextAccessor` [Microsoft\.AspNetCore\.Http\.IHttpContextAccessor](https://learn.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.http.ihttpcontextaccessor 'Microsoft\.AspNetCore\.Http\.IHttpContextAccessor') {#Abblix.Oidc.Server.MinimalApi.Formatters.ConfigurationResponseFormatter.ConfigurationResponseFormatter(Microsoft.Extensions.Options.IOptionsSnapshot_Abblix.Oidc.Server.Common.Configuration.OidcOptions_,Microsoft.AspNetCore.Http.IHttpContextAccessor,Microsoft.AspNetCore.Routing.LinkGenerator,Abblix.Oidc.Server.Endpoints.Configuration.Interfaces.ISignedMetadataProvider).httpContextAccessor}

###### `linkGenerator` [Microsoft\.AspNetCore\.Routing\.LinkGenerator](https://learn.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.routing.linkgenerator 'Microsoft\.AspNetCore\.Routing\.LinkGenerator') {#Abblix.Oidc.Server.MinimalApi.Formatters.ConfigurationResponseFormatter.ConfigurationResponseFormatter(Microsoft.Extensions.Options.IOptionsSnapshot_Abblix.Oidc.Server.Common.Configuration.OidcOptions_,Microsoft.AspNetCore.Http.IHttpContextAccessor,Microsoft.AspNetCore.Routing.LinkGenerator,Abblix.Oidc.Server.Endpoints.Configuration.Interfaces.ISignedMetadataProvider).linkGenerator}

###### `signedMetadataProvider` [ISignedMetadataProvider](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Configuration.Interfaces.ISignedMetadataProvider 'Abblix\.Oidc\.Server\.Endpoints\.Configuration\.Interfaces\.ISignedMetadataProvider') {#Abblix.Oidc.Server.MinimalApi.Formatters.ConfigurationResponseFormatter.ConfigurationResponseFormatter(Microsoft.Extensions.Options.IOptionsSnapshot_Abblix.Oidc.Server.Common.Configuration.OidcOptions_,Microsoft.AspNetCore.Http.IHttpContextAccessor,Microsoft.AspNetCore.Routing.LinkGenerator,Abblix.Oidc.Server.Endpoints.Configuration.Interfaces.ISignedMetadataProvider).signedMetadataProvider}
### Methods

## ConfigurationResponseFormatter\.FormatResponseAsync\(ConfigurationResponse\) Method {#Abblix.Oidc.Server.MinimalApi.Formatters.ConfigurationResponseFormatter.FormatResponseAsync(Abblix.Oidc.Server.Endpoints.Configuration.Interfaces.ConfigurationResponse)}

Formats the configuration response, adding endpoint URLs and \(when enabled\) the RFC 8414 signed metadata\.

```csharp
public System.Threading.Tasks.Task<Microsoft.AspNetCore.Http.IResult> FormatResponseAsync(Abblix.Oidc.Server.Endpoints.Configuration.Interfaces.ConfigurationResponse response);
```
#### Parameters

###### `response` [ConfigurationResponse](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Configuration.Interfaces.ConfigurationResponse 'Abblix\.Oidc\.Server\.Endpoints\.Configuration\.Interfaces\.ConfigurationResponse') {#Abblix.Oidc.Server.MinimalApi.Formatters.ConfigurationResponseFormatter.FormatResponseAsync(Abblix.Oidc.Server.Endpoints.Configuration.Interfaces.ConfigurationResponse).response}

The framework\-neutral configuration metadata produced by the core handler\.

Implements [FormatResponseAsync\(ConfigurationResponse\)](https://www.abblix.com/en/docs/api/abblix-oidc-server-minimalapi/Abblix.Oidc.Server.MinimalApi.Formatters.Interfaces.IConfigurationResponseFormatter#Abblix.Oidc.Server.MinimalApi.Formatters.Interfaces.IConfigurationResponseFormatter.FormatResponseAsync(Abblix.Oidc.Server.Endpoints.Configuration.Interfaces.ConfigurationResponse) 'Abblix\.Oidc\.Server\.MinimalApi\.Formatters\.Interfaces\.IConfigurationResponseFormatter\.FormatResponseAsync\(Abblix\.Oidc\.Server\.Endpoints\.Configuration\.Interfaces\.ConfigurationResponse\)')

#### 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\.Http\.IResult](https://learn.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.http.iresult 'Microsoft\.AspNetCore\.Http\.IResult')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')  
An [Microsoft\.AspNetCore\.Http\.IResult](https://learn.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.http.iresult 'Microsoft\.AspNetCore\.Http\.IResult') that writes the discovery document as JSON\.
