GeneratePasswordResetTokenAsync和GenerateUserTokenAsync的默认TokenLifespan是什么

use*_*671 22 asp.net asp.net-identity

我到处寻找,似乎无法确定每个默认值是什么.

我还需要知道是否有办法为每个人设置不同的Lifespans.谢谢,

Kri*_*pta 26

任何令牌的默认值显然为24小时.您可以将其设置为不同的值,但相同的值将同等地应用于所有标记(GenerateEmailConfirmationTokenAsync,GeneratePasswordResetTokenAsyncGenerateUserTokenAsync).

例如,TokenLifespan = TimeSpan.FromHours(3)通过ApplicationUserManager.Create在App_Start\IdentityConfig.cs文件中的方法中指定来设置新值:

        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;
Run Code Online (Sandbox Code Playgroud)

资料来源:http://www.asp.net/identity/overview/features-api/account-confirmation-and-password-recovery-with-aspnet-identity

针对不同类型令牌的不同lifespans:看起来像推回到下一个"主要更新",按照:https://aspnetidentity.codeplex.com/workitem/2228.

  • 对我来说(身份2.2.1),默认值仅为15分钟。设置TokenLifespan对我有用。 (2认同)