Я использую клиент MVC с IdentityServer3.AccessTokenValidation и Identity Server 4 в качестве приложения IDP.
Я добавил тайм-аут для файлов cookie в указанных ниже местах, однако кажется, что сессия никогда не истекает и автоматически не выходит из системы -
В клиенте MVC -
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = "Cookies",
ExpireTimeSpan = new TimeSpan(0, 20, 0, 0)
});
Если я установлю время менее 20 часов, запрос авторизации будет выполняться для бесконечного цикла
В приложении IDP,
services.AddIdentityServer(
opt => new IdentityServer4.Configuration.IdentityServerOptions
{
Authentication = new IdentityServer4.Configuration.AuthenticationOptions()
{
CookieLifetime = TimeSpan.FromSeconds(60)
}
}
В приложении IDP,
.AddCookie("Cookies", opt => {
opt.ExpireTimeSpan = TimeSpan.FromSeconds(60);
opt.Cookie = new CookieBuilder() { Expiration = new TimeSpan(0,0,0,60) };
opt.Events.OnSigningIn = (context) =>
{
context.CookieOptions.Expires = DateTimeOffset.UtcNow.AddSeconds(60);
return Task.CompletedTask;
};
})