在 header 或 body 上传递 jwt 刷新令牌
Pass jwt refresh token on header or body
当访问令牌过期时,它应该re-issued刷新令牌。
在这一点上,我有点犹豫哪种方法更好。
对于访问令牌,它为每个请求传递 HTTP header。
- 在 HTTP header 上传递刷新令牌。
- 在 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,你没有义务,所以使用最适合你项目的方式发送.
当访问令牌过期时,它应该re-issued刷新令牌。
在这一点上,我有点犹豫哪种方法更好。
对于访问令牌,它为每个请求传递 HTTP header。
- 在 HTTP header 上传递刷新令牌。
- 在 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,你没有义务,所以使用最适合你项目的方式发送.