OwinContext.Authentication.SignIn方法在同一输入上的行为不同

时间:2018-11-21 14:09:27

标签: c# security cookies token owin

有人可以解释吗?

我正在使用Owin Cookie身份验证,在我的方法中,我有以下代码:

e.OwinContext.Authentication.SignIn(/* AuthenticationProperties, ClaimsIdentity */);

e是 CookieValidateIdentityContext

当我在代码中使用此方法时,如果我没有在30分钟之内发送请求,网站就会要求我提供凭据,但是如果我每20分钟发送一次请求(例如),则不会要求我输入凭据

当我没有此方法时,因为ExpireTimeSpan设置为1440分钟,所以系统不会要求我提供1天的凭据。

所以我的问题是:上面的代码内部发生了什么,如果在30分钟内不发送请求,如何防止再次登录。

我正在使用Microsoft.Owin.Sequrity 3.0

链接到Owin方法:public void SignIn行:203

1 个答案:

答案 0 :(得分:1)

您可以将过期时间添加到AuthenticationProperties中,如下所示:

SignIn(new AuthenticationProperties 
{ 
    IsPersistent = e.Properties.IsPersistent,
    ExpiresUtc = DateTimeOffset.UtcNow.AddMinutes(1440)
}, principal);
相关问题