2015-01-22 17 views
6

Chúng tôi đang sử dụng 2FA với ASP.Net Identity 2 qua email. Điều này làm việc tốt nhất của thời gian nhưng trong một số trường hợp có sự chậm trễ với mã bảo mật nhận được thông qua email người dùng, cửa sổ 6 phút cho mã bảo mật sau đó trở nên quá ngắn.ASP.Net Identity 2, Two Factor Mã bảo mật timespan

Có cách điều chỉnh cửa sổ thời gian này cho mã 2FA không?

Trả lời

1

Tôi nghĩ bạn phải thay đổi thời gian hợp lệ trong UserTokenProvider.

Hãy thử như sau trong UserManager<TApplicationUser> thực hiện của bạn:

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; 
} 
+0

Để làm việc này bạn cũng đã thay đổi thời gian chờ cookie hai yếu tố trong file StartUp như thế này: UseTwoFactorSignInCookie (DefaultAuthenticationTypes.TwoFactorCookie, TimeSpan.FromMinutes (10)); –

Các vấn đề liên quan