刷新令牌 Jsonwebtoken

Refresh Token Jsonwebtoken

我在 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 请求中用作 header。

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

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

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

2) 当客户端发送带有过期令牌的请求时,服务器returns 401.

3) 我实施了一条刷新令牌的新路径。它接收刷新令牌和用户作为参数和 returns 一个新令牌 (jsonwebtoken)。

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

我的实现基于这个 post,非常好的片段:

Refresh token in JWT (Node.js implementation)

希望对您有所帮助