Asp.net core DefaultEmailProvider的Net核心标识和过期时间
由于Asp.net core DefaultEmailProvider的Net核心标识和过期时间,asp.net-core,.net-core,asp.net-identity,token,Asp.net Core,.net Core,Asp.net Identity,Token,由于\u userManager.generateemailconfimationtokenasync(user)自动生成的令牌非常长,因此我决定如下设置令牌创建: services.AddIdentity<User, IdentityRole>(config => { config.SignIn.RequireConfirmedEmail = true; config.Tokens.EmailConfirmati
\u userManager.generateemailconfimationtokenasync(user)
自动生成的令牌非常长,因此我决定如下设置令牌创建:
services.AddIdentity<User, IdentityRole>(config => {
config.SignIn.RequireConfirmedEmail = true;
config.Tokens.EmailConfirmationTokenProvider = TokenOptions.DefaultEmailProvider;
config.Tokens.PasswordResetTokenProvider = TokenOptions.DefaultEmailProvider;
})
.AddRoleManager<RoleManager<IdentityRole>>()
.AddEntityFrameworkStores<MyDbContext>()
.AddDefaultTokenProviders();
services.AddIdentity(配置=>{
config.SignIn.RequireConfirmedEmail=true;
config.Tokens.EmailConfirmationTokenProvider=TokenOptions.DefaultEmailProvider;
config.Tokens.PasswordResetTokenProvider=TokenOptions.DefaultEmailProvider;
})
.AddRoleManager()
.AddEntityFrameworkStores()
.AddDefaultTokenProviders();
现在我得到了一个6号代码,但我无法确定它到底什么时候过期。
查看应该生成令牌的内容,它会说:“
允许两个方向的差异不超过9分钟
”,但在8分钟时,令牌已经过期。我想知道令牌何时过期,以及是否有任何方法可以更改此过期时间。您是否解决过令牌过期问题?
我在网上看到的是,该令牌的有效期为1天,但我的测试表明只有5分钟。
我已尝试了建议的修复方法:
services.Configure(options=>options.TokenLifespan=TimeSpan.FromDays(1))代码>
但它不起作用
编辑:
请参阅本帖:
将上述建议与
.AddTokenProvider(TokenOptions.DefaultEmailProvider)代码>
而不是.AddDefaultTokenProviders为我做了这件事。它确实会生成更长的令牌,但这对我来说很好。您是否解决过令牌到期问题?
我在网上看到的是,该令牌的有效期为1天,但我的测试表明只有5分钟。
我已尝试了建议的修复方法:
services.Configure(options=>options.TokenLifespan=TimeSpan.FromDays(1))代码>
但它不起作用
编辑:
请参阅本帖:
将上述建议与
.AddTokenProvider(TokenOptions.DefaultEmailProvider)代码>
而不是.AddDefaultTokenProviders为我做了这件事。它确实生成了更长的令牌,但对我来说没问题