我到处都查过,但似乎无法确定每个选项的默认值是什么。
我还需要知道是否有办法为每个设置不同的生命周期。 谢谢,
最佳答案
任何 token 的默认值显然都是 24 小时。您可以将其设置为不同的值,但相同的值将同等地应用于所有 token (GenerateEmailConfirmationTokenAsync
、GeneratePasswordResetTokenAsync
和 GenerateUserTokenAsync
)。
设置新值是通过在 App_Start\IdentityConfig.cs 的 ApplicationUserManager.Create
方法中指定 TokenLifespan = TimeSpan.FromHours(3)
来完成的文件:
if (dataProtectionProvider != null)
{
manager.UserTokenProvider =
new DataProtectorTokenProvider<ApplicationUser>(dataProtectionProvider.Create("ASP.NET Identity"))
{
// Added custom code to set a different lifespan
TokenLifespan = TimeSpan.FromHours(3)
};
;
}
return manager;
不同类型代币的不同生命周期:看起来像是被推迟到下一个“主要更新”,为此:https://aspnetidentity.codeplex.com/workitem/2228 .
关于asp.net - GeneratePasswordResetTokenAsync 和GenerateUserTokenAsync 的默认TokenLifespan 是多少,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31814795/