Thingsboard REST api 始终以状态 401 响应

Posted

技术标签:

【中文标题】Thingsboard REST api 始终以状态 401 响应【英文标题】:Thingsboard REST api always responds with status 401 【发布时间】:2017-03-27 19:30:03 【问题描述】:

首先我使用 curl 命令获得了一个令牌,如 here 所示。然后用这个token授权swagger,尝试了一些endpoints,但是都回复了

    
      "status": 401,
      "message": "Authentication failed",
      "errorCode": 10,
      "timestamp": 1490619586352
    

在服务器端我得到这个异常:

2017-03-27 13:31:16,149 [http-nio-0.0.0.0-8080-exec-9] ERROR o.t.s.s.s.m.token.RawAccessJwtToken - Invalid JWT Token io.jsonwebtoken.MalformedJwtException: Unable to read JSON value: ��!L��ȉ

我也用 curl 尝试了这个,结果相同,使用以下语法:

curl -X GET --header 'Accept: application/json' --header 'Content-Type: application/json' --header 'X-Authorization: MY_TOKEN' 'http://MY_SERVER:MY_PORT/api/tenants?limit=3'

我为我的服务器适当地更改了 MY_TOKEN、MY_SERVER 和 MY_PORT。

【问题讨论】:

【参考方案1】:

似乎其中一个标头缺少参数(Bearer)。应该是--header 'X-Authorization: Bearer MY_TOKEN'。当我添加它时,响应符合预期。所以 curl 的完整命令是: curl -X GET --header 'Accept: application/json' --header 'Content-Type: application/json' --header 'X-Authorization: Bearer MY_TOKEN' 'http://MY_SERVER:MY_PORT/api/tenants?limit=3'

【讨论】:

以上是关于Thingsboard REST api 始终以状态 401 响应的主要内容,如果未能解决你的问题,请参考以下文章

ThingsBoard——Rest API获取token和刷新token

ThingsBoard——Rest API获取token和刷新token

ThingsBoard——Rest API获取token和刷新token

Thingsboard - REST API 上的身份验证错误(来自 Curl 命令和 ASP.NET)

页面大小和页面如何在获取客户资产中工作在 thingsboard rest api 中?

REST API 是不是应该始终返回带有消息的响应?