我有一个简短的问题。我正在将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中获取当前用户,然后找出持久登录名。