在邮递员处收到奇怪的无效令牌错误消息

Posted

技术标签:

【中文标题】在邮递员处收到奇怪的无效令牌错误消息【英文标题】:Getting Weird Invalid Token Error Message At Postman 【发布时间】:2021-12-30 17:40:33 【问题描述】:

我正在尝试使用 Postman 中的令牌授权连接到网站的 API。

所以我尝试连接的 URL 是一个 GET URL,如下所示:

https://seller.digikala.com/api/v1/profile/

然后在 Postman 中,我将 Authorization 类型设置为 BearerToken 并复制并粘贴了令牌。

并且Headers也设置为Content-Type of application/json

但我不知道为什么会出现此错误:


    "status": 401,
    "message": "Invalid token!"

我还在 jwt.io 网站上测试了令牌,它说:无效签名!

所以问题是,网站是否为我提供了错误且无效的令牌(因为我只是复制并粘贴它,没有机会输入错误的令牌)?

授权此令牌的其他方法是什么?如何获得正确的响应?

【问题讨论】:

我遇到的令牌通常前面有一个数字,例如12|,然后是令牌的其余部分。你的没有那个。我不确定是否所有形式的令牌都有,但这可能是这里的问题。 【参考方案1】:

BearerToken 并不总是 JWT

BearerToken是一种Authorization Header,你可以传递给一个http端点。

BearerTokens 可以有多个token_type,比如:

jwt, api_token, ...

BearerToken 并不总是jwt,它可以有多个algorithm

12|xxx 格式类似于 api_token

注意:如果你想知道令牌的标志之一是 jwt,如果它 格式是带有 2 个点的 url 编码字符串,(xxx.yyy.zzz) 这是一个机会 它将是JWT 令牌

验证 JWT

在 jwt.io 中,您应该提供 digikala.com 公钥来验证签名。

它说令牌无效,因为你没有提供,digikala 公钥

但是当解码器出现时,您提供的令牌是一个 jwt 令牌,其有效负载数据为:


  "token_id" : 970,
  "payload" : null

TD;DR

如果你再次登录并尝试新令牌,我猜你可以访问

【讨论】:

请你帮我解决这个问题:***.com/questions/70052445/…

以上是关于在邮递员处收到奇怪的无效令牌错误消息的主要内容,如果未能解决你的问题,请参考以下文章

浏览器没有响应,但在邮递员中得到 401

Asp.NET Identity 2 给出“无效令牌”错误

颤振错误使用jwt令牌授权

如果令牌无效,如何更改 Prometheus 错误消息?

API 的 Auth0 访问令牌在邮递员中有效,但在从 Vue 调用时无效

来自 QSYS2.SysTables 的查询返回错误“令牌;无效”