0


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":"[email protected]","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
  • how to use refresh token to renew session #840
  • 阮一峰——JSON Web Token 入门教程
  • JWT在线解密
标签: ThingsBoard REST API

本文转载自: https://blog.csdn.net/a10615/article/details/123026033
版权归原作者 a10615 所有, 如有侵权,请联系我们删除。

“ThingsBoard——Rest API获取token和刷新token”的评论:

还没有评论