2

J'essaie de prolonger la durée de vie des e-mails de confirmation et des e-mails de réinitialisation de mot de passe, mais je n'arrive pas à le faire. Actuellement j'utilise Asp.net core 1.0.1 si c'est utile.Comment configurer la durée de vie du jeton de courrier électronique de confirmation dans asp.net core mvc

Quelques conseils ou même mieux, le code, seraient très appréciés.

Merci

+0

Pouvez-vous ajouter un extrait de code de la façon dont vous gérez actuellement? – Ignas

+0

Ignas, j'ai suivi ce lien comme un point de référence: https://github.com/aspnet/Identity/issues/859 –

Répondre

1

Le changement de code suivant dans la méthode Create (dans le App_Start \ fichier IdentityConfig.cs) définit les jetons à expireront en 3 heures.

if (dataProtectionProvider != null) 
{ 
    manager.UserTokenProvider = 
     new DataProtectorTokenProvider<ApplicationUser> 
      (dataProtectionProvider.Create("ASP.NET Identity")) 
      {      
      TokenLifespan = TimeSpan.FromHours(3) 
      }; 
} 

Espérons que cela aide.

+0

J'ai mentionné que j'utilise Asp.net core mvc, donc il n'y a pas App_Start \ IdentityConfig. cs. En tout cas, merci :) –

2

Peut-être qu'il va aider quelqu'un =)

Il suffit de faire ceci:

public void ConfigureServices(IServiceCollection services) 
    { 
     // ... 
     services.Configure<DataProtectionTokenProviderOptions>(options => 
     { 
      options.TokenLifespan = TimeSpan.FromSeconds(1); // .FromDays(1) ... 
     }); 
    } 

C'est fonctionne pour moi.