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

Posted a10615

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ThingsBoard——Rest API获取token和刷新token相关的知识,希望对你有一定的参考价值。

ThingsBoard的REST API文档使用的是Swagger,大多数的接口都可以通过这个地址来查看和测试(后面带锁图标的接口表示需要鉴权)

http://YOUR_HOST:PORT/swagger-ui.html

一、登录获取token

登录接口在login-endpoint组中

POST /api/auth/login

请求

账号和密码放在requestBody请求体中


  "username": "tenant@thingsboard.org",
  "password": "tenant"

响应

返回token和refreshToken


  "token": "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0ZW5hbnRAdGhpbmdzYm9hcmQub3JnIi...",
  "refreshToken": "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0ZW5hbnRAdGhpbmdzYm9hcmQub3JnIi..."

需要鉴权的接口,在Header中把token带上(注意:Bearer后面有一个空格):

X-Authorization: Bearer $JWT_TOKEN_VALUE

两个token,都是JWT加密,可以通过在线工具解密。解密出来,token的有效期是2.5h,refreshToken是7day。JWT解释说明和解密工具见最后

二、刷新token

刷新token没有通过Swagger生成在文档里

POST /api/auth/token

请求

把refreshToken放在请求体中(Header无需携带token):


  "refreshToken": "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0ZW5hbnRAdGhpbmdzYm9hcmQub3JnIi..."

响应

将返回新的token和新的refreshToken


  "token": "abchbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0ZW5hbnRAdGhpbmdzYm9hcmQub3JnIi...",
  "refreshToken": "efghbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0ZW5hbnRAdGhpbmdzYm9hcmQub3JnIi..."

三、参考

以上是关于ThingsBoard——Rest API获取token和刷新token的主要内容,如果未能解决你的问题,请参考以下文章

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

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

用户无法与 rest api thingsboard 建立关系

Thingsboard REST api 始终以状态 401 响应

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

从 REST API 获取的 Vuex 渲染数据