コード例 #1
0
        /// <summary>
        /// Sets the signing credential.
        /// </summary>
        /// <returns></returns>
        public static IJwksBuilder IdentityServer4AutoJwksManager(this IJwksBuilder builder)
        {
            builder.Services.AddScoped <ISigningCredentialStore, IdentityServer4KeyStore>();
            builder.Services.AddScoped <IValidationKeysStore, IdentityServer4KeyStore>();

            return(builder);
        }
コード例 #2
0
        /// <summary>
        /// Sets the signing credential.
        /// </summary>
        /// <returns></returns>
        public static IJwksBuilder PersistKeysToDataProtection(this IJwksBuilder builder)
        {
            builder.Services.AddDataProtection();

            builder.Services.AddScoped <IJsonWebKeyStore, DataProtectionStore>();

            return(builder);
        }
コード例 #3
0
        /// <summary>
        /// Sets the signing credential.
        /// </summary>
        /// <returns></returns>
        public static IJwksBuilder PersistKeysInMemory(this IJwksBuilder builder)
        {
            builder.Services.AddSingleton <IJsonWebKeyStore, InMemoryStore>();

            return(builder);
        }
コード例 #4
0
        /// <summary>
        /// Sets the signing credential.
        /// </summary>
        /// <returns></returns>
        public static IJwksBuilder PersistKeysToFileSystem(this IJwksBuilder builder, DirectoryInfo directory)
        {
            builder.Services.AddScoped <IJsonWebKeyStore, FileSystemStore>(provider => new FileSystemStore(directory, provider.GetService <IOptions <JwksOptions> >()));

            return(builder);
        }
コード例 #5
0
    /// <summary>
    /// Sets the signing credential.
    /// </summary>
    /// <param name="builder">The builder.</param>
    /// <param name="credential">The credential.</param>
    /// <returns></returns>
    public static IJwksBuilder UseJwtValidation(this IJwksBuilder builder)
    {
        builder.Services.AddSingleton <IPostConfigureOptions <JwtBearerOptions>, JwtPostConfigureOptions>();

        return(builder);
    }
コード例 #6
0
        /// <summary>
        /// Sets the signing credential.
        /// </summary>
        /// <param name="builder">The builder.</param>
        /// <param name="credential">The credential.</param>
        /// <returns></returns>
        public static IJwksBuilder PersistKeysToDatabaseStore <TContext>(this IJwksBuilder builder) where TContext : DbContext, ISecurityKeyContext
        {
            builder.Services.AddScoped <IJsonWebKeyStore, DatabaseJsonWebKeyStore <TContext> >();

            return(builder);
        }