У нас есть веб-API, который использовал IdentityServer4 для аутентификации.Я пытаюсь изменить службу аутентификации для поддержки мультитенантности путем сохранения существующих БД.Таким образом, есть отдельные БД для каждого арендатора.
В настоящее время я пытаюсь настроить ConfigurationStore и OperationalStore.
Опция 01: поскольку у нас есть отдельная БД для каждого арендатора, в эти БД могут быть добавлены связанные таблицы ConfigurationDb и PersistedGrantDb.
Опция 02: использовать общую БД для хранения таблиц, связанных с 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
});