/// <summary> /// Configures EF implementation of IClientStore, IResourceStore, and ICorsPolicyService with IdentityServer. /// </summary> /// <typeparam name="TContext">The IConfigurationDbContext to use.</typeparam> /// <param name="builder">The builder.</param> /// <param name="storeOptionsAction">The store options action.</param> /// <returns></returns> public static IIdentityServerBuilder AddConfigurationStore <TContext>( this IIdentityServerBuilder builder, Action <ConfigurationStoreOptions> storeOptionsAction = null) where TContext : DbContext, IConfigurationDbContext { var options = new ConfigurationStoreOptions(); builder.Services.AddSingleton(options); storeOptionsAction?.Invoke(options); if (options.ResolveDbContextOptions != null) { builder.Services.AddDbContext <TContext>(options.ResolveDbContextOptions); } else { builder.Services.AddDbContext <TContext>(dbCtxBuilder => { options.ConfigureDbContext?.Invoke(dbCtxBuilder); }); } builder.Services.AddScoped <IConfigurationDbContext, TContext>(); builder.AddClientStore <ClientStore>(); builder.AddResourceStore <ResourceStore>(); builder.AddCorsPolicyService <CorsPolicyService>(); return(builder); }
public static IIdentityServerBuilder AddClients(this IIdentityServerBuilder builder) { builder.AddClientStore <CustomClientStore>(); builder.AddCorsPolicyService <InMemoryCorsPolicyService>(); return(builder); }
/// <summary> /// Configures RavenDB implementation of IClientStore, IResourceStore, and ICorsPolicyService with IdentityServer. /// </summary> /// <param name="builder">The builder.</param> /// <returns></returns> public static IIdentityServerBuilder AddConfigurationStore(this IIdentityServerBuilder builder) { builder.AddClientStore <ClientStore>(); builder.AddResourceStore <ResourceStore>(); builder.AddCorsPolicyService <CorsPolicyService>(); return(builder); }
/// <summary> /// Configures Repository implementation of IClientStore, IResourceStore, and ICorsPolicyService with IdentityServer. /// </summary> /// <typeparam name="TDbContext">The IAbpConfigurationDbContext to use.</typeparam> /// <param name="builder">The builder.</param> /// <returns></returns> public static IIdentityServerBuilder AddConfigurationStore <TDbContext>(this IIdentityServerBuilder builder) where TDbContext : IAbpConfigurationDbContext { builder.AddClientStore <ClientStore>(); builder.AddResourceStore <ResourceStore>(); builder.AddCorsPolicyService <CorsPolicyService>(); return(builder); }
/// <summary> /// Adds the in memory clients. /// </summary> /// <param name="builder">The builder.</param> /// <param name="clients">The clients.</param> /// <returns></returns> public static IIdentityServerBuilder AddInMemoryClients(this IIdentityServerBuilder builder, IEnumerable <Client> clients) { builder.Services.AddSingleton(clients); builder.AddClientStore <InMemoryClientStore>(); builder.AddCorsPolicyService <InMemoryCorsPolicyService>(); return(builder); }
public static IIdentityServerBuilder AddRavenDbConfigurationStore( this IIdentityServerBuilder builder, Action <RavenDbConfigurationStoreOptions> configureStoreOptions) { builder.Services.AddConfigurationDocumentStoreHolder(configureStoreOptions); builder.AddClientStore <ClientStore>(); builder.AddResourceStore <ResourceStore>(); builder.AddCorsPolicyService <CorsPolicyService>(); return(builder); }
/// <summary> /// Configures EF implementation of IClientStore, IResourceStore, and ICorsPolicyService with IdentityServer. /// </summary> /// <typeparam name="TContext">The IConfigurationDbContext to use.</typeparam> /// <param name="builder">The builder.</param> /// <param name="storeOptionsAction">The store options action.</param> /// <returns></returns> public static IIdentityServerBuilder AddConfigurationStore( this IIdentityServerBuilder builder, Action <ConfigurationStoreOptions> storeOptionsAction = null) { builder.Services.AddConfigurationDbContext(storeOptionsAction); builder.AddClientStore <ClientStore>(); builder.AddResourceStore <ResourceStore>(); builder.AddCorsPolicyService <CorsPolicyService>(); return(builder); }
/// <summary> /// Configures EF implementation of IClientStore, IResourceStore, and ICorsPolicyService with IdentityServer. /// </summary> /// <typeparam name="TContext">The IConfigurationDbContext to use.</typeparam> /// <param name="builder">The builder.</param> /// <param name="storeOptionsAction">The store options action.</param> /// <returns></returns> public static IIdentityServerBuilder AddConfigurationStore <TContext>( this IIdentityServerBuilder builder, Action <ConfigurationStoreOptions> storeOptionsAction = null) where TContext : DbContext, IConfigurationDbContext { builder.Services.AddConfigurationDbContext <TContext>(storeOptionsAction); builder.AddClientStore <ClientStore>(); builder.AddResourceStore <ResourceStore>(); builder.AddCorsPolicyService <CorsPolicyService>(); builder.AddIdentityProviderStore <IdentityProviderStore>(); return(builder); }
/// <summary> /// Configures implementation of IClientStore, IResourceStore, and ICorsPolicyService with IdentityServer. /// </summary> public static IIdentityServerBuilder AddConfigurationStore( this IIdentityServerBuilder builder, Action <StoreOptions> storeOptionsAction = null) { builder.AddClientStore <ClientStore>(); builder.AddResourceStore <ResourceStore>(); builder.AddCorsPolicyService <CorsPolicyService>(); var storeOptions = new StoreOptions(); storeOptionsAction?.Invoke(storeOptions); builder.Services.AddIdentityServerMongoDbRepositories(storeOptions).AddIdentityServerMongoDbMappers(); return(builder); }
/// <summary> /// Configures Xpo implementation of IPersistedGrantStore with IdentityServer. /// </summary> /// <typeparam name="TContext">The IPersistedGrantDbContext to use.</typeparam> /// <param name="builder">The builder.</param> /// <param name="storeOptionsAction">The store options action.</param> /// <returns></returns> public static IIdentityServerBuilder AddXpoIdentityStore( this IIdentityServerBuilder builder, Action <OperationalStoreOptions> storeOptionsAction = null) { builder.Services.AddXpoIdentityStorage(storeOptionsAction); builder.AddClientStore <ClientStore>(); builder.AddResourceStore <ResourceStore>(); builder.AddCorsPolicyService <CorsPolicyService>(); builder.Services.AddTransient <IPersistedGrantStore, PersistedGrantStore>(); builder.Services.AddTransient <IDeviceFlowStore, DeviceFlowStore>(); builder.Services.AddSingleton <IHostedService, TokenCleanupHost>(); return(builder); }
/// <summary> /// 注入对象存储 使用mongodb实现 /// </summary> public static IIdentityServerBuilder AddMongoDBConfigurationStore( this IIdentityServerBuilder builder, Action <IdentityServerMongoContext> context) { //注入mongo存储 builder.Services.AddMongoServices() .AddMongoContext(context); //注入替换的服务 builder.AddClientStore <ClientStore>(); builder.AddResourceStore <ResourceStore>(); builder.AddCorsPolicyService <CorsPolicyService>(); builder.AddPersistedGrantStore <PersistedGrantStore>(); builder.AddDeviceFlowStore <DeviceFlowStore>(); return(builder); }
/// <summary> /// Configures Dapper implementation of IClientStore, IResourceStore, and ICorsPolicyService with IdentityServer. /// </summary> /// <param name="builder"></param> /// <param name="storeOptionsAction"></param> /// <returns></returns> public static IIdentityServerBuilder AddConfigurationStore(this IIdentityServerBuilder builder, Action <ConfigurationStoreOptions> storeOptionsAction = null) { var options = new ConfigurationStoreOptions(); storeOptionsAction?.Invoke(options); builder.Services.AddSingleton(options); builder.Services.AddTransient <Interfaces.IClientProvider, DefaultProviders.DefaultClientProvider>(); builder.Services.AddTransient <Interfaces.IApiResourceProvider, DefaultProviders.DefaultApiResourceProvider>(); builder.Services.AddTransient <Interfaces.IIdentityResourceProvider, DefaultProviders.DefaultIdentityResourceProvider>(); builder.AddClientStore <ClientStore>(); builder.AddResourceStore <ResourceStore>(); builder.AddCorsPolicyService <CorsPolicyService>(); return(builder); }
/// <summary> /// Configures Json files implementation of IClientStore, IResourceStore, and ICorsPolicyService with IdentityServer. /// </summary> /// <typeparam name="TContext">The IConfigurationDbContext to use.</typeparam> /// <param name="builder">The builder.</param> /// <param name="storeOptionsAction">The store options action.</param> /// <returns></returns> public static IIdentityServerBuilder AddJsonFilesConfigurationStore(this IIdentityServerBuilder builder, Action <ConfigurationStoreOptions> storeOptionsAction = null) { var options = new ConfigurationStoreOptions(); builder.Services.AddSingleton(options); storeOptionsAction?.Invoke(options); var store = new JSonFilesInMemoryCache(options); builder.Services.AddSingleton(store); builder.AddClientStore <JSonFilesClientStore>(); builder.AddResourceStore <JSonFilesResourceStore>(); builder.AddCorsPolicyService <JSonFilesCorsPolicyService>(); return(builder); }
public static IIdentityServerBuilder AddConfigurationStore(this IIdentityServerBuilder builder, Action <ConfigurationStoreOptions> configureDbAction) { var options = new ConfigurationStoreOptions(); configureDbAction?.Invoke(options); var sessionFactory = options.SessionFactory ?? BuildSessionFactory(options, NhibernateConfigurationExtensions.AddConfigurationMappings); builder.Services.AddSingleton(options); builder.Services.AddScoped(_ => new ConfigurationSessionProvider(sessionFactory.OpenSession)); builder.AddClientStore <ClientStore>(); builder.AddResourceStore <ResourceStore>(); builder.AddCorsPolicyService <CorsPolicyService>(); return(builder); }
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); }
public static IIdentityServerBuilder AddNeo4jConfigurationAndOperationalStore( this IIdentityServerBuilder builder, Options options) { options = options ?? throw new ArgumentNullException(nameof(options)); //configuration builder.Services.AddSingleton(options); builder.Services.AddSingleton <IHostedService, TokenCleanupHost>(); builder.Services.AddSingleton <IdentityServerDriverProvider>(provider => new InternalDriverProvider(options.Uri, options.Token, options.Configuration, provider.GetRequiredService <N4pperManager>())); builder.AddClientStore <Neo4jClientStore>(); builder.AddResourceStore <Neo4jResourceStore>(); builder.AddCorsPolicyService <Neo4jCorsPolicyService>(); //operational builder.Services.AddSingleton <TokenCleanup>(); builder.Services.AddSingleton <IHostedService, TokenCleanupHost>(); builder.Services.AddTransient <IPersistedGrantStore, Neo4jPersistedGrantStore>(); return(builder); }