如何为跨功能应用程序正确地将JWT存储在localStorage中?

时间:2019-04-22 16:14:17

标签: javascript jwt

我有一个简短的问题。我正在将JWT与护照的Google策略一起用于oauth。我正在对令牌进行签名,然后将其发送给客户端,然后再打另一条路由时,令牌应作为标头传递,即Authorizaiton:Bearer 1234lk2m41lk32m。我有一个验证令牌的辅助函数:

const verifyToken = (req, res, next) => {
  const token = req.headers['authorization'].split(' ')[1];
  if (!token)
    return res.status(401).send({ auth: false, message: 'No token provided.' });
  JWT.verify(token, process.env.JWT_SECRET, (err, decoded) => {
    if (err) {
      return res
        .status(500)
        .send({ auth: false, message: 'Failed to authenticate token.' })
    };
    // Set token to localstorage here?
    res.locals.JWT = token;
    next();
  });
};

由于移动设备将使用此应用程序,因此我尝试将其设置为localStorage,res.locals = token是执行此操作的正确方法吗?然后,我正在考虑编写一个函数,以从JWT中存储的ID中获取当前用户,然后找出持久登录名。

0 个答案:

没有答案