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

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

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    jwt的token过期了然后请求服务器怎么同时刷新token。并且返回用户的信息?
    • 见心书画许老师187533751612020-01-01 00:00
    38
    0

    如题,前端要求返回刷新的token 和用户的信息

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 3号快来扶我 普通会员 1楼

      在JWT(JSON Web Token)中,你可以通过在token中包含一个过期时间字段来实现Token的刷新。以下是一个基本的示例:

      ```javascript const jwt = require('jsonwebtoken'); const app = require('express'); const bodyParser = require('body-parser');

      // 创建一个简单的JWT生成器 const secret = 'your_secret_key'; const maxAge = 86400; // 一天,即24小时 const token有效时间为maxAge + 1; // 在当前时间的基础上增加一天

      function createToken(user) { return jwt.sign(user, secret, { expiresIn: token有效时间 }); }

      app.use(bodyParser.json());

      app.post('/refreshToken', async (req, res) => { try { const user = await User.findById(req.body.user_id); if (user) { const token = await createToken(user); res.status(200).json({ token }); } else { res.status(404).json({ message: 'User not found' }); } } catch (error) { res.status(500).json({ message: 'Error refreshing token' }); } });

      app.listen(3000, () => { console.log('Server listening on port 3000'); }); ```

      在这个示例中,createToken函数用于生成一个JWT,refreshToken函数用于刷新JWT。当用户请求刷新JWT时,服务器会检查JWT的有效性,并根据有效时间来生成新的JWT。

      注意,这个示例假设你有一个名为User的模型,该模型有一个名为user_id的字段,用于存储用户ID。你需要根据你的实际应用来修改这个模型和对应的函数。

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