微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ASP.NET Core 3 Identity 的 Cookie 问题

如何解决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 举报,一经查实,本站将立刻删除。