【问题标题】:Refresh Token Jsonwebtoken刷新令牌 Jsonwebtoken
【发布时间】:2016-10-18 00:14:13
【问题描述】:

我在 NodeJs API 应用程序中使用 jsonwebtoken 在我的 API 应用程序中对用户进行身份验证。我设置的流程如下:

1) 用户通过注册 API 注册,并使用以下方式生成访问令牌:

var jwt = require('jsonwebtoken');
var token = jwt.sign(user, _conf.authentication.superSecret, {
    expiresIn: 1440 // I intend to keep it short.
});

2) 例如,令牌会在 24 小时后过期。此令牌将返回给客户端移动应用程序,以用作所有后续 API 请求中的标头。

我想知道如何处理 jwt 的刷新令牌。目前我没有刷新令牌的机制。因此,如果令牌在 24 小时内到期,我希望客户端(移动应用程序)能够请求新的访问令牌。 提前致谢。

【问题讨论】:

标签: node.js api authentication json-web-token


【解决方案1】:

我在一个项目中遇到了同样的问题。

1) 我创建了刷新令牌并在用户登录时返回它(使用 jsonwebtoken)。我与用户一起保存了刷新令牌。

2) 当客户端使用过期令牌发送请求时,服务器返回401。

3) 我实现了刷新令牌的新路径。它接收刷新令牌和用户作为参数并返回一个新令牌(jsonwebtoken)。

4) (可选)您可以实现一种机制来使刷新令牌失效,以防有人窃取它

我的实现基于这篇文章,非常好的 sn-ps:

Refresh token in JWT (Node.js implementation)

希望对你有帮助

【讨论】:

  • 如果您需要帮助或任何事情,请告诉我
  • solidgeargroup.com/… 无法访问此站点
  • 这个答案有 github repo 吗?
  • @dennbagas 你能那样做吗?
猜你喜欢
  • 2021-08-20
  • 2017-10-13
  • 2022-10-31
  • 2016-01-05
  • 2019-06-29
  • 1970-01-01
  • 2020-07-12
  • 2017-11-20
  • 1970-01-01
相关资源
最近更新 更多