我知道这没有多大意义,但是我的客户要求制作的令牌永远不会过期。
我做了一些研究,发现我可以指定TokenLifespan
的持续时间,所以我的第一个想法是让持续时间超长,从而使令牌看起来“永不过期”
var dataProtectionProvider = options.DataProtectionProvider;
if (dataProtectionProvider != null)
{
manager.UserTokenProvider =
new DataProtectorTokenProvider<ApplicationUser>(dataProtectionProvider.Create("ASP.NET Identity"))
{
TokenLifespan = TimeSpan.FromHours(2160)
};
}
但是,无论我为TokenLifespan
设置什么,令牌仍会在3天后过期。
我做了一个测试,比如1天或2天,他们工作得很好,但由于某些原因,它不能超过3天。到底发生了什么?
答案 0 :(得分:-1)
看看http://www.codeproject.com/Articles/762428/ASP-NET-MVC-and-Identity-Understanding-the-Basics
您不应该在登录部分
上定义令牌持久性AuthenticationManager.SignIn(
new AuthenticationProperties { IsPersistent = isPersistent },
userIdentity,
rememberBrowserIdentity);