开发者社区> 问答> 正文

Net Core api是否会在每个请求中检查jwt的到期日期?

我已经设置了一个网络核心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,这是不成功的

展开
收起
几许相思几点泪 2019-12-16 20:14:43 863 0
0 条回答
写回答
取消 提交回答
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Boot2.0实战Redis分布式缓存 立即下载
CUDA MATH API 立即下载
API PLAYBOOK 立即下载