Bearer error="invalid_token", error_description="之前的token无效

Posted

技术标签:

【中文标题】Bearer error="invalid_token", error_description="之前的token无效【英文标题】:Bearer error="invalid_token", error_description="The token is not valid before 【发布时间】:2021-09-06 06:07:40 【问题描述】:

我的场景是当我们多次测试用户登录和注销时,我们会随机出错 -

日期:2021 年 6 月 22 日星期二 13:58:41 格林威治标准时间 WWW-Authenticate: Bearer error="invalid_token", error_description="令牌在'06/22/2021 13:58:42'之前无效"

dot net core 中的后端 API,我们在其中生成和验证 JWT 令牌,

【问题讨论】:

【参考方案1】:

您的令牌具有nbf (JWT Not Before) Claim,当使用nbf 验证令牌时,当前时间必须在该时间戳或之后。这些时间戳是以秒为单位的 UNIX 时间戳。

可能发生的事情是

当您使用nbf 生成这些令牌时,声明值的上限为最接近的秒数,而不是下限。 您的时钟可能在生产者和消费者之间出现偏差

在这两种情况下,推荐的方式在 RFC 中都有描述

实施者可以 提供一些小的回旋余地,通常不超过几分钟,以 考虑时钟偏差。

可能存在某些验证选项,例如时钟偏差或时钟容差,您需要将其设置为某个可接受的值,例如5 秒以适应微小的时钟偏差或地板/天花板差异。

【讨论】:

以上是关于Bearer error="invalid_token", error_description="之前的token无效的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET Core WebAPI: Bearer error="invalid_token", error_description="找不到签名密钥"

Azure 上带有 React 和 IdentityServer 4 的 ASP.NET Core:Bearer error="invalid_token", error_desc

c# asp.net core Bearer error="invalid_token"

rosbag遍历数据出错:(unicode error) 'utf-8' codec can't decode byte 0xcd in position 31: invali

React Template w/Identity Server not working in .NET 6 - Bearer error The issuer is invalid

“Bearer”授权标头有啥特殊含义吗?