Version 6.x has been out of support since May 14, 2024, and this corresponding section of the documentation is no longer maintained. We strongly recommend you upgrade to the latest supported version of 7.x and read the latest version of this documentation.

Identity Provider Store

Duende.IdentityServer.Stores.IIdentityProviderStore

Used to dynamically load identity provider configuration.

    /// <summary>
    /// Interface to model storage of identity providers.
    /// </summary>
    public interface IIdentityProviderStore
    {
        /// <summary>
        /// Gets all identity providers name.
        /// </summary>
        Task<IEnumerable<IdentityProviderName>> GetAllSchemeNamesAsync();

        /// <summary>
        /// Gets the identity provider by scheme name.
        /// </summary>
        /// <param name="scheme"></param>
        /// <returns></returns>
        Task<IdentityProvider> GetBySchemeAsync(string scheme);
    }

The IdentityProvider is intended to be a base class to model arbitrary identity providers. The default implementation included in Duende IdentityServer will return a derived class for OpenID Connect providers, via the OidcProvider class.