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

## ISignedMetadataProvider Interface

Produces the RFC 8414 §2\.1 `signed_metadata` value for a discovery document\.

```csharp
public interface ISignedMetadataProvider
```

Derived  
↳ [SignedMetadataProvider](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Configuration.SignedMetadataProvider 'Abblix\.Oidc\.Server\.Endpoints\.Configuration\.SignedMetadataProvider')

### Remarks
Lives in the core rather than in an adapter because the value is a property of the metadata, not of the
framework that serves it: both the MVC and the Minimal API adapters assemble the same
[ConfigurationResponse](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Model.ConfigurationResponse 'Abblix\.Oidc\.Server\.Model\.ConfigurationResponse') and owe their clients the same signature over it\.
### Methods

## ISignedMetadataProvider\.SignAsync\(ConfigurationResponse\) Method {#Abblix.Oidc.Server.Endpoints.Configuration.Interfaces.ISignedMetadataProvider.SignAsync(Abblix.Oidc.Server.Model.ConfigurationResponse)}

Signs [metadata](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Endpoints.Configuration.Interfaces.ISignedMetadataProvider#Abblix.Oidc.Server.Endpoints.Configuration.Interfaces.ISignedMetadataProvider.SignAsync(Abblix.Oidc.Server.Model.ConfigurationResponse).metadata 'Abblix\.Oidc\.Server\.Endpoints\.Configuration\.Interfaces\.ISignedMetadataProvider\.SignAsync\(Abblix\.Oidc\.Server\.Model\.ConfigurationResponse\)\.metadata') and returns the compact JWS\.

```csharp
System.Threading.Tasks.Task<string> SignAsync(Abblix.Oidc.Server.Model.ConfigurationResponse metadata);
```
#### Parameters

###### `metadata` [ConfigurationResponse](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Model.ConfigurationResponse 'Abblix\.Oidc\.Server\.Model\.ConfigurationResponse') {#Abblix.Oidc.Server.Endpoints.Configuration.Interfaces.ISignedMetadataProvider.SignAsync(Abblix.Oidc.Server.Model.ConfigurationResponse).metadata}

The fully assembled metadata, including resolved endpoint URLs and any mTLS aliases, and without
`signed_metadata` itself: RFC 8414 §2\.1 has the bundle assert the metadata, not restate its own
signature\.

#### Returns
[System\.Threading\.Tasks\.Task&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[System\.String](https://learn.microsoft.com/en-us/dotnet/api/system.string 'System\.String')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')  
The compact\-serialized JWS\.
