我正在使用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>();