我们通过电子邮件将 2FA 与 ASP.Net Identity 2 结合使用。这在大多数情况下工作正常,但在某些情况下,安全代码发送到用户电子邮件时会出现延迟,安全代码的 6 分钟窗口就会变得太短。
有没有办法调整 2FA 代码的时间窗口?
我认为你必须改变有效时间跨度UserTokenProvider
.
在您的系统中尝试以下操作UserManager<TApplicationUser>
执行:
public static ApplicationUserManager Create(
IdentityFactoryOptions<ApplicationUserManager> options,
IOwinContext context)
{
/* ...create the user store... */
var manager = new ApplicationUserManager(userStore);
/* ...all the other config stuff... */
var dataProtectionProvider = options.DataProtectionProvider;
if (dataProtectionProvider != null)
{
var tokenProvider = new DataProtectorTokenProvider<ApplicationUser>(dataProtectionProvider.Create("ASP.NET Identity"));
// here's what you're looking for:
tokenProvider.TokenLifespan = TimeSpan.FromMinutes(10);
manager.UserTokenProvider = tokenProvider;
}
return manager;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)