Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core DefaultEmailProvider的Net核心标识和过期时间_Asp.net Core_.net Core_Asp.net Identity_Token - Fatal编程技术网

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为我做了这件事。它确实生成了更长的令牌,但对我来说没问题