我已经设置了一个网络核心API服务器。我通过blazor客户应用发送请求。我将每个令牌的到期时间设置为2分钟,但是令牌可工作约7分钟。api是否会在每个请求中检查到期日期?
我正在使用的代码如下。在startup.cs中
services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer(options =>
{
options.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuer = true,
ValidateAudience = true,
ValidateLifetime = true,
ValidateIssuerSigningKey = true,
ValidIssuer = Configuration["JwtIssuer"],
ValidAudience = Configuration["JwtAudience"],
IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(Configuration["JwtSecurityKey"]))
};
});
在用户登录时,像这样发出令牌
var expiry = DateTime.UtcNow.AddMinutes(2);
var token = new JwtSecurityToken(
_configuration["JwtIssuer"], // read from appsetttings.json
_configuration["JwtAudience"], // read from appsettings.json
claims, // claims added here
expires: expiry,
signingCredentials: creds // signature
);
我有两个请求:第一个是在11:52,这是有效的,而到期日期是11:49(您可以在下图中看到它)
第二个是在11:54,这是不成功的
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。