我仅使用cookie设置了身份验证。我以某种方式在Chrome的“应用程序”标签中看到,防伪令牌Cookie的过期时间设置为12月31日的1969。
在ConfigureServices
中,我有:
services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme).AddCookie(opts =>
{
var ts = TimeSpan.FromMinutes(30);
opts.Cookie.HttpOnly = true;
opts.Cookie.Expiration = ts;
opts.Cookie.SecurePolicy = CookieSecurePolicy.SameAsRequest;
opts.LoginPath = new PathString("/User/Authenticate");
opts.ExpireTimeSpan = ts;
opts.Cookie.MaxAge = ts;
opts.Validate();
});
和Configure
app.UseCookiePolicy();
app.UseAuthentication();
这是出于安全考虑吗?可以绕过该令牌吗?我没有发现任何与防伪令牌默认到期日期有关的文章。
答案 0 :(得分:0)
将Cookie的日期设置为过去的某个时间(或最短时间)是告诉浏览器删除Cookie的一种非常常用的技术。您不必担心。