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

## Abblix\.Oidc\.Server\.Common\.Interfaces Namespace

| Classes | |
| :--- | :--- |
| [AuthServiceKeysProviderExtensions](https://www.abblix.com/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.Interfaces.AuthServiceKeysProviderExtensions 'Abblix\.Oidc\.Server\.Common\.Interfaces\.AuthServiceKeysProviderExtensions') | Extension helpers for [IAuthServiceKeysProvider](https://www.abblix.com/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.Interfaces.IAuthServiceKeysProvider 'Abblix\.Oidc\.Server\.Common\.Interfaces\.IAuthServiceKeysProvider')\. |

| Interfaces | |
| :--- | :--- |
| [IAuthServiceKeysProvider](https://www.abblix.com/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.Interfaces.IAuthServiceKeysProvider 'Abblix\.Oidc\.Server\.Common\.Interfaces\.IAuthServiceKeysProvider') | Provides the keys of the OpenID Connect service to encrypt and sign the JWT tokens it issues, and to publish their public halves at the JWKS endpoint\. |
| [IAuthServiceKeysStore](https://www.abblix.com/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.Interfaces.IAuthServiceKeysStore 'Abblix\.Oidc\.Server\.Common\.Interfaces\.IAuthServiceKeysStore') | The write\-role counterpart to [IAuthServiceKeysProvider](https://www.abblix.com/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.Interfaces.IAuthServiceKeysProvider 'Abblix\.Oidc\.Server\.Common\.Interfaces\.IAuthServiceKeysProvider'): it persists a service key at the moment it is generated, so its public half survives even when the external keystore that holds the private half exposes it only once\. Reading stays with [IAuthServiceKeysProvider](https://www.abblix.com/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.Interfaces.IAuthServiceKeysProvider 'Abblix\.Oidc\.Server\.Common\.Interfaces\.IAuthServiceKeysProvider')\. |
| [IBinarySerializer](https://www.abblix.com/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.Interfaces.IBinarySerializer 'Abblix\.Oidc\.Server\.Common\.Interfaces\.IBinarySerializer') | Defines the contract for a binary serializer that supports serialization and deserialization of objects to and from binary format\. |
| [IGrantTypeInformer](https://www.abblix.com/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.Interfaces.IGrantTypeInformer 'Abblix\.Oidc\.Server\.Common\.Interfaces\.IGrantTypeInformer') | Provides information about OAuth 2\.0 grant types supported by a component\. Components implementing this interface can be registered in dependency injection to contribute their supported grant types to the OpenID Connect discovery endpoint\. |
| [IJsonObjectBinder](https://www.abblix.com/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.Interfaces.IJsonObjectBinder 'Abblix\.Oidc\.Server\.Common\.Interfaces\.IJsonObjectBinder') | Provides a mechanism to bind data from a JsonObject to a model, enabling the conversion of JSON data into a strongly typed object\. This interface abstracts the process of mapping JSON properties to a model's properties, facilitating the dynamic population of model instances with data from a JSON source\. |
| [IOidcEndpointResolver](https://www.abblix.com/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.Interfaces.IOidcEndpointResolver 'Abblix\.Oidc\.Server\.Common\.Interfaces\.IOidcEndpointResolver') | Resolves the absolute URL an OIDC endpoint is served at in the running application\. |
| [IParametersProvider](https://www.abblix.com/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.Interfaces.IParametersProvider 'Abblix\.Oidc\.Server\.Common\.Interfaces\.IParametersProvider') | Extracts a flat set of name/value pairs from a response object \- the reverse of binding \- for delivery as query, fragment or form\_post parameters\. The transport adapters \(MVC, Minimal API\) share this contract because flattening a response DTO is framework\-neutral; the implementation lives in the core for the same reason\. |
| [IParameterValidator](https://www.abblix.com/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.Interfaces.IParameterValidator 'Abblix\.Oidc\.Server\.Common\.Interfaces\.IParameterValidator') | Provides a method for validating that a parameter is and not null\. |
| [IRequestInfoProvider](https://www.abblix.com/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.Interfaces.IRequestInfoProvider 'Abblix\.Oidc\.Server\.Common\.Interfaces\.IRequestInfoProvider') | Provides information about the current request, including URIs and security details\. |
| [IUserCredentialsAuthenticator](https://www.abblix.com/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.Interfaces.IUserCredentialsAuthenticator 'Abblix\.Oidc\.Server\.Common\.Interfaces\.IUserCredentialsAuthenticator') | Validates a username and password pair against the host's user store and produces an authorized grant when the credentials are correct\. Used by the Resource Owner Password Credentials grant \(`grant_type=password`\) at the token endpoint, so the host can plug its own identity backend behind the OAuth flow\. |
