我在我的应用程序中添加了cookie身份验证
public void ConfigureServices(IServiceCollection services)
{
services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
.AddCookie(options =>
{
options.Cookie.SecurePolicy = CookieSecurePolicy.SameAsRequest;
options.Cookie.SameSite = SameSiteMode.Lax;
options.Cookie.IsEssential = true;
options.SlidingExpiration = true;
options.ExpireTimeSpan = TimeSpan.FromDays(30);
});
并在我的登录页面上
await HttpContext.SignInAsync(principal, new AuthenticationProperties()
{
IsPersistent = true,
AllowRefresh = false
});
在HTTPS协议上它可以正常工作,当我关闭浏览器并重新访问页面后,该网站会记住我的身份验证。
但是在HTTP协议上,我每次都需要重新认证, Cookie似乎无法在http协议上持续存在。
我知道HTTP协议不安全,但是我需要使用HTTP进行调试。 我的代码在哪里不对?
我尝试了
options.Cookie.SecurePolicy = CookieSecurePolicy.SameAsRequest;
和
options.Cookie.SecurePolicy = CookieSecurePolicy.None;
没有成功。