在 header 或 body 上传递 jwt 刷新令牌

Pass jwt refresh token on header or body

当访问令牌过期时,它应该re-issued刷新令牌。
在这一点上,我有点犹豫哪种方法更好。
对于访问令牌,它为每个请求传递 HTTP header。

  1. 在 HTTP header 上传递刷新令牌。
  2. 在 HTTP 上传递刷新令牌 POST body(有效负载)。

推荐哪一个?

jwt 规范建议(但不要求)在 Bearer 类型的授权 header 中发送访问令牌。但是没有提到刷新令牌。

刷新令牌是一个 Oauth2 概念。如果您阅读 Rfc6749 specification,要刷新访问令牌,刷新令牌是使用 POST 请求

中的表单参数发送的

6. Refreshing an Access Token ...

 POST /token HTTP/1.1
 Host: server.example.com
 Authorization: Basic czZCaGRSa3F0MzpnWDFmQmF0M2JW
 Content-Type: application/x-www-form-urlencoded

 grant_type=refresh_token&refresh_token=tGzv3JOkF0XG5Qx2TlKWIA

你可以参考oauth2的例子(在body中传递),但如果你不使用oauth2,你没有义务,所以使用最适合你项目的方式发送.