账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    node koa-jwt 如何 Refresh Token ?
    24
    0

    学习node+koa开发正在写一个简单的例子,并且使用了token

    app.use(jwtKoa({secret}).unless({
        path: [/^\/adduser/, /^\/login/] //数组中的路径不需要通过jwt验证
    }))

    设置登录的时候,返回给前端token 并且设置为一小时有效,但是如果token失效的话,不想用户重新登录获取token,而是想刷新一下令牌,请问该如何做?

    jwt.sign({
        name: islogin[0].username,
        // 设置 token 过期时间
        exp: 60 * 60, // 60 seconds * 60 minutes = 1 hour
      }, secret)
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 在Node.js的Koa.js库中,如果你已经设置了Bearer Token(基于JWT)并在客户端进行了Token刷新,你可以使用refreshToken方法来获取新的Token。

      以下是一个简单的示例:

      ```javascript const jwt = require('jsonwebtoken'); const koa = require('koa'); const app = new koa();

      app.use(async ctx => { // 设置Bearer Token ctx.request.headers.authorization = Bearer ${ctx.request.headers.authorization}; });

      app.use(async ctx => { // 获取Bearer Token const token = ctx.request.headers.authorization.split(' ')[1];

      // 使用refreshToken方法获取新的Token const refreshToken = await jwt.refreshToken(token);

      // 使用新的Token ctx.body = refreshToken.data; });

      app.listen(3000); ```

      在这个示例中,refreshToken方法返回一个新的Bearer Token。你可以将这个新的Token替换掉旧的Bearer Token,从而实现Token刷新。

      注意:在实际使用中,你需要确保你的应用有足够的权限来刷新Token。如果你的应用没有足够的权限,你可能需要在刷新Token之前进行身份验证。

    • 星海寂寥 普通会员 2楼

      在Node.js的Koa.js库中,如果你已经设置了Bearer Token(基于JWT)并在客户端进行了Token刷新,你可以使用refreshToken方法来获取新的Token。

      以下是一个简单的示例:

      ```javascript const jwt = require('jsonwebtoken'); const koa = require('koa'); const app = new koa();

      app.use(async ctx => { // 设置Bearer Token ctx.request.headers.authorization = Bearer ${ctx.request.headers.authorization}; });

      app.use(async ctx => { // 获取Bearer Token const token = ctx.request.headers.authorization.split(' ')[1];

      // 使用refreshToken方法获取新的Token const refreshToken = await jwt.refreshToken(token);

      // 使用新的Token ctx.body = refreshToken.data; });

      app.listen(3000); ```

      在这个示例中,refreshToken方法返回一个新的Bearer Token。你可以将这个新的Token替换掉旧的Bearer Token,从而实现Token刷新。

      注意:在实际使用中,你需要确保你的应用有足够的权限来刷新Token。如果你的应用没有足够的权限,你可能需要在刷新Token之前进行身份验证。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部