【问题标题】:Bearer error="invalid_token", error_description="The token is not valid beforeBearer error="invalid_token", error_description="之前的token无效
【发布时间】: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 令牌,

【问题讨论】:

    标签: jwt


    【解决方案1】:

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

    可能发生的事情是

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2018-08-03
      • 2020-06-03
      • 2020-12-24
      • 2021-02-06
      • 2021-07-26
      • 2022-10-25
      • 1970-01-01
      • 2020-10-08
      • 2020-06-04
      相关资源
      最近更新 更多