【发布时间】:2018-11-16 12:38:22
【问题描述】:
我们有一个使用 IdentityServer4 进行身份验证的 Web API。我正在尝试通过保留现有数据库来更改身份验证服务以支持多租户。所以每个租户都有单独的数据库。
我目前正在努力配置 ConfigurationStore 和 OperationalStore。
选项 01:由于我们为每个租户都有单独的数据库,因此可以将 ConfigurationDb 和 PersistedGrantDb 相关表添加到这些数据库中。
选项 02:使用 common DB 保留 ConfigurationDb 和 PersistedGrantDb 相关表。
最好的方法是什么?
services.AddIdentityServer()
// this adds the config data from DB (clients, resources, CORS)
.AddConfigurationStore(options =>
{
options.ConfigureDbContext = builder =>
builder.UseSqlServer(connectionString,
sql => sql.MigrationsAssembly(migrationsAssembly));
})
.AddOperationalStore(options =>
{
options.ConfigureDbContext = builder =>
builder.UseSqlServer(connectionString,
sql => sql.MigrationsAssembly(migrationsAssembly));
// this enables automatic token cleanup. this is optional.
options.EnableTokenCleanup = true;
options.TokenCleanupInterval = 30; // interval in seconds
});
【问题讨论】:
标签: identityserver4 multi-tenant