如何解决ASP.NET Core 3 Identity 的 Cookie 问题
我在使用 Identity 时遇到 cookie 问题,我将过期时间设置为 7 天,并且在我的本地开发环境中它会记住我。但是,当我发布到生产服务器时,它似乎在大约 30 分钟后不记得我了。我可以在生产服务器发回的 cookie 中看到,它对未来的 expires 属性具有正确的值。然而,我注意到的一个区别是,在我的本地开发环境中,该服务发布了一个会话 ID cookie,但在生产服务器上却没有。我还听说有人提到,如果安全标记发生变化,它也会使您的 cookie 失效,但是我之前和之后都检查过安全标记,但它没有更新。
这是我在启动时用来配置 cookie 的代码:
services.ConfigureApplicationCookie(options =>
{
options.Cookie.SameSite = SameSiteMode.Unspecified;
options.Cookie.HttpOnly = true;
options.Cookie.IsEssential = true;
options.Cookie.SecurePolicy = CookieSecurePolicy.SameAsRequest;
options.ExpireTimeSpan = TimeSpan.FromDays(7);
options.SlidingExpiration = true;
options.LoginPath = "/signin";
options.logoutPath = "/signout";
});
另一个看似无关的问题,LoginPath 和 logoutPath 设置从未起作用,我不得不将重定向放在不会覆盖的默认操作上,以使其执行我想要的操作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。