2015-01-22 12 views
6

Stiamo usando 2FA con ASP.Net Identity 2 tramite e-mail. Questo funziona bene la maggior parte del tempo ma in alcuni casi ci sono ritardi con il codice di sicurezza che arriva fino agli e-mail degli utenti, la finestra di 6 minuti per il codice di sicurezza diventa troppo breve.Intervallo di codice di sicurezza ASP.Net Identity 2, Two Factor

C'è un modo per regolare questa finestra temporale per il codice 2FA?

risposta

1

Penso che sia necessario modificare l'intervallo di validità nel UserTokenProvider.

Prova quanto segue nel UserManager<TApplicationUser> implementazione:

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

Per far funzionare tutto questo si hanno anche per modificare il cookie timeout a due fattori nel file di avvio in questo modo: UseTwoFactorSignInCookie (DefaultAuthenticationTypes.TwoFactorCookie, TimeSpan.FromMinutes (10)); –

Problemi correlati