コード例 #1
0
        /// <summary>
        /// Adds the cache based stores for managing IdentityServer configuration.
        /// </summary>
        /// <param name="builder">The builder.</param>
        private static IIdentityServerBuilder AddCachedConfigurationStore(this IIdentityServerBuilder builder)
        {
            builder.AddInMemoryCaching();

            builder.AddClientStoreCache <ClientStore>();
            builder.AddResourceStoreCache <ResourceStore>();
            builder.AddCorsPolicyCache <CorsPolicyService>();

            return(builder);
        }
コード例 #2
0
        /// <summary>
        /// Configures caching for IClientStore, IResourceStore, and ICorsPolicyService with IdentityServer.
        /// </summary>
        /// <param name="builder">The builder.</param>
        /// <returns></returns>
        public static IIdentityServerBuilder AddConfigurationStoreCache(this IIdentityServerBuilder builder)
        {
            builder.AddInMemoryCaching();

            // add the caching decorators
            builder.AddClientStoreCache <ClientStore>();
            builder.AddResourceStoreCache <ResourceStore>();
            builder.AddCorsPolicyCache <CorsPolicyService>();

            return(builder);
        }
コード例 #3
0
        public static IIdentityServerBuilder AddRavenDbConfigurationStoreCache(
            this IIdentityServerBuilder builder)
        {
            CheckAddConfigurationStoreHolderWasCalled(builder.Services);

            builder.AddInMemoryCaching();

            builder.AddClientStoreCache <ClientStore>();
            builder.AddResourceStoreCache <ResourceStore>();
            builder.AddCorsPolicyCache <CorsPolicyService>();

            return(builder);
        }
コード例 #4
0
        public static IIdentityServerBuilder AddDapperStore(this IIdentityServerBuilder builder, Action <DapperStoreOptions> options = null)
        {
            var opts = new DapperStoreOptions();

            builder.Services.AddSingleton(opts);
            options?.Invoke(opts);

            builder.AddClientStore <ClientStore>();
            builder.AddResourceStore <ResourceStore>();
            builder.AddCorsPolicyService <CorsPolicyService>();

            builder.AddInMemoryCaching();
            builder.AddClientStoreCache <ClientStore>();
            builder.AddResourceStoreCache <ResourceStore>();
            builder.AddCorsPolicyCache <CorsPolicyService>();

            builder.Services.AddTransient <IPersistedGrantStore, PersistedGrantStore>();
            builder.Services.AddTransient <IDeviceFlowStore, DeviceFlowStore>();

            builder.Services.AddSingleton <TokenCleanup>();
            builder.Services.AddSingleton <IHostedService, TokenCleanupHostedService>();

            return(builder);
        }