Asp.net

ASP 身份核心 GeneratePasswordResetTokenAsync 已過期

  • January 31, 2019

我在 .NET Core 2.1 中設置了 Identity Server 4 項目,一切正常,但是當我使用使用者管理器生成重置密碼令牌時,令牌會在 24 小時後過期,我可以將其更改為 48 小時嗎?

我發送重置令牌的程式碼如下所示:

var code = await _userManager.GeneratePasswordResetTokenAsync(user);

var callbackUrl = url.EmailConfirmationLink(user.Id, code, scheme);

我的 ConfigureServices 如下所示:

  services.AddIdentity<ApplicationUser, IdentityRole>(config =>
       {
           config.SignIn.RequireConfirmedEmail = true;
       })
           .AddEntityFrameworkStores<ApplicationDbContext>()
           .AddDefaultTokenProviders();

謝謝 :)

將以下程式碼添加到 Startup.cs 類中的 ConfigureServices() 方法應該會對您有所幫助。

services.Configure<DataProtectionTokenProviderOptions>(options =>
   options.TokenLifespan = TimeSpan.FromDays(2));

預設令牌生命週期為 24 小時(1 天)。請參考githubTokenOptions

引用自:https://stackoverflow.com/questions/52821472