我正在尝试将IdentityServer4与持久数据库一起使用。我有一个Oracle数据库。我正计划扩展ConfigurationDbContext
和PersistedGrantDbContext
,以便进行特定于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使用自定义类?
答案 0 :(得分:2)
实施IPersistedGrantStore
,如here所示。并将其添加到ASP.NET Core ServiceCollection(也称为DI容器)。
例如:
services.AddTransient<IPersistedGrantStore, MyPersistedGrantStore>
其中MyPersistedGrantStore使用该DbContext执行接口/合同中定义的那些CRUD操作。
答案 1 :(得分:0)
它位于IdentityServer4.EntityFramework中。为IdentityServer4.EntityFramework.DbContexts
添加using语句