c# - JwtSecurityTokenHandler.ValidateToken 抛出 Lifetime 验证失败异常
问题描述
我正在创建一个 ASP.net core 5 Web API。在尝试获取刷新令牌时,会对当前令牌进行各种验证检查。我的初始检查是使用 JwtSecurityTokenHandler.ValidateToken 和下面的代码。
var tokenInVerification = jwtTokenHandler.ValidateToken(tokenRequest.Token, _tokenValidationParams, out var validatedToken);
然而它抛出:
IDX10223: Lifetime validation failed. The token is expired. ValidTo: 'System.DateTime', Current time: 'System.DateTime'
有没有办法解决这个问题,因为我不希望它抛出异常但继续,这样我就可以运行其他验证检查。
我正在迭代
解决方案
刚入ValidateLifetime=false
__tokenValidationParams
var _tokenValidationParams= new TokenValidationParameters
{
ValidateAudience = true,
ValidAudience = GetValidAudience(),
ValidIssuer = GetValidIssuer(),
IssuerSigningKey = GetIssuerSigningKey(),
ValidateIssuerSigningKey = true,
ValidateIssuer = true,
ValidateLifetime = false //Here we are saying that we don't care about the token's expiration date
};
推荐阅读
- php - 如何使用递归关系反转 Laravel 中的无限子类别
- java - AndroidStudio:当我尝试在单元测试类中初始化 JSONObject 时,它总是输出 null
- javascript - 过滤掉隐藏的元素
- mysql - 根据用户保存的习惯显示动态数据
- ruby-on-rails - 我们什么时候在 Ruby 中使用嵌套模块和嵌套类?
- javascript - 使用 for..of 循环遍历迭代器而不是 iterable 是否合法?
- reactjs - 选项卡之间的 Next-Auth 会话同步
- pandas - 如何对以某个单词结尾的多列求和并在新列中继续求和?
- python - 改进 OCR 结果自定义
- angularjs - WebDataRocks 数据透视表不适用于 angularjs rest api