IdentityServer4具有持久性数据库

时间:2017-02-21 12:53:41

标签: asp.net-core asp.net-identity identityserver4

我正在尝试将IdentityServer4与持久数据库一起使用。我有一个Oracle数据库。我正计划扩展ConfigurationDbContextPersistedGrantDbContext,以便进行特定于oracle的定制。

PersistedGrantDbContext

 public class IdentityPersistedGrantDbContext : PersistedGrantDbContext {
    public IdentityPersistedGrantDbContext(DbContextOptions<PersistedGrantDbContext> options, OperationalStoreOptions storeOptions)
         : base(options, storeOptions) {
    }
}

ConfigurationDbContext

public class IdentityConfigurationDbContext : ConfigurationDbContext {
    public IdentityConfigurationDbContext(DbContextOptions<ConfigurationDbContext> options, ConfigurationStoreOptions storeOptions)
         : base(options, storeOptions) {
    }
}

在启动类中,我是否告诉IdentityServer使用自定义类?

2 个答案:

答案 0 :(得分:2)

实施IPersistedGrantStore,如here所示。并将其添加到ASP.NET Core ServiceCollection(也称为DI容器)。

例如:

services.AddTransient<IPersistedGrantStore, MyPersistedGrantStore>

其中MyPersistedGrantStore使用该DbContext执行接口/合同中定义的那些CRUD操作。

答案 1 :(得分:0)

它位于IdentityServer4.EntityFramework中。为IdentityServer4.EntityFramework.DbContexts

添加using语句