Я использую IdentitySever4 для обслуживания токенов в нашей инфраструктуре.Он настроен на использование внешнего IdP.Я хотел бы использовать срок действия внешнего токена для повторной аутентификации с внешним IdP, чтобы, если пользователь был отключен, он выходил из системы.Мой клиент настроен так, что он вызывает конечную точку авторизации каждые 5 минут (только для тестирования).
Мой клиент - приложение Angular 6, использующее неявный поток.
Как я могу настроить Identity Server для проверки внешнего провайдера на основании его срока действия?
Ниже приведена моя конфигурация:
services.AddIdentityServer(options =>
{
options.Events.RaiseSuccessEvents = true;
options.Events.RaiseFailureEvents = true;
options.Events.RaiseErrorEvents = true;
options.Authentication.CookieLifetime = TimeSpan.FromMinutes(10);
})
.AddConfigurationStore(options =>
{
options.ConfigureDbContext = builder =>
builder.UseSqlServer(Configuration.GetConnectionString("AzureDatabase"),
sql => sql.EnableRetryOnFailure());
})
.AddOperationalStore(options =>
{
options.ConfigureDbContext = builder =>
builder.UseSqlServer(Configuration.GetConnectionString("AzureDatabase"),
sql => sql.EnableRetryOnFailure());
options.EnableTokenCleanup = true;
})
.AddAspNetIdentity<IdentityUser>()
.AddSigningCredential(GetIdentityServerCertificate(services))
.AddInMemoryPersistedGrants()
.AddCustomTokenRequestValidator<ClientClaimsAdder>();