我已经在 .NET Core 4 中设置了一个身份服务器 2.1 项目,我一切正常,但是当我使用用户管理器生成重置密码令牌时,令牌在 24 小时后过期,我可以更改它所以它是 48 小时吗?
我发送重置令牌的代码如下所示:
var code = await _userManager.GeneratePasswordResetTokenAsync(user);
var callbackUrl = url.EmailConfirmationLink(user.Id, code, scheme);
我的配置服务如下所示:
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 天(。请参考 github 和 TokenOptions