IdentityServer4:将到期日期设置为“ idsrv.session” cookie

问题描述

我的角度应用程序的无提示刷新机制出现问题,因为身份服务器无法正确设置cookie到期时间。

成功登录后,将为身份服务器的域设置以下cookie:

2020-08-20 12_53_39-ORF Zuul - Microsoft Visual Studio

您可以在图片上看到,“ idsrv.session” cookie的到期日期为“ session”。在我的旧IdentityServer3中,此cookie具有正确的到期日期,并且一切正常。

谁能帮我解决这个问题。我需要一种方法来设置“ idsrv.session” cookie的到期日期。

以下是为实现我的目标而添加的当前配置/语句:

// Startup.cs - ConfigureServices()
services
   .AddIdentityServer(options =>
   {
      options.EmitStaticAudienceClaim = true;
      options.AccessTokenJwtType = "JWT";
      options.Authentication.CookieLifetime = TimeSpan.FromDays(30);
   })
services
   .AddAuthentication("Cookies")
   .AddCookie("Cookies",options =>
   {
      options.ExpireTimeSpan = TimeSpan.FromDays(30);
   })
// AccountController.cs - Login()
await HttpContext.SignInAsync(isuser,new AuthenticationProperties
   {
       IsPersistent = true,ExpiresUtc = DateTimeOffset.UtcNow.Add(TimeSpan.FromDays(30))
    });

但是此设置对“ idsrv.session” cookie无效。

我使用.net core 3.1和IdentityServer4 4.0.4。

谢谢!

解决方案:

对于我来说,以下陈述对我有帮助,即30分钟后用户将不会注销。过期的“ idsrv.session” Cookie仍设置为session,但30分钟后将不会删除。

services.Configure<SecurityStampValidatorOptions>(o => o.ValidationInterval = TimeSpan.FromDays(30));

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...