По умолчанию, по-видимому, 24 часа для любого из токенов. Вы можете установить его на другое значение, но одно и то же значение будет применяться ко всем токенам одинаково (GenerateEmailConfirmationTokenAsync
, GeneratePasswordResetTokenAsync
и GenerateUserTokenAsync
).
Установка нового значения выполняется путем указания, например, TokenLifespan = TimeSpan.FromHours(3)
в методе ApplicationUserManager.Create
в IdentityConfig.cs файле App_Start \:
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;
Источник: http://www.asp.net/identity/overview/features-api/account-confirmation-and-password-recovery-with-aspnet-identity
Различные продолжительность жизни для разных типов жетоны: похоже, отброшено к следующему «основному обновлению», за это: https://aspnetidentity.codeplex.com/workitem/2228.
Для меня (Identity 2.2.1) значение по умолчанию составляет всего 15 минут. Настройка TokenLifespan работала для меня. – Smix