小编Cod*_*ojo的帖子

用于传递 JWT 的 httpOnly Cookie 与授权标头

所以我对通过 JWT 授权的正确方法有点困惑,我知道一种常见的方法是您可以使用授权标头来验证它,如下所示:

const verifyToken = (req, res, next) => {
  const authHeader = req.headers.token;
  if (authHeader) {
    const token = authHeader.split(" ")[1];
    jwt.verify(token, process.env.JWT_KEY, (err, user) => {
      if (err) {
        res.status(403).json("Token is not valid!");
      }
      req.user = user;
      next();
    });
  } else {
    res.status(401).json("You're not authenticated");
  }
};
Run Code Online (Sandbox Code Playgroud)

但是,如果我在登录后使用 cookie 来存储我的 JWT 令牌,例如:

res.cookie("accessToken", accessToken, { httpOnly: true });
res.cookie("refreshToken", refreshToken, { httpOnly: true });
Run Code Online (Sandbox Code Playgroud)

这是否意味着我可以忽略上面的 authHeader 并直接使用 cookie 来验证我的令牌?就像是:

const verifyToken = (req, res, next) => { …
Run Code Online (Sandbox Code Playgroud)

cookies node.js express jwt

5
推荐指数
1
解决办法
2517
查看次数

标签 统计

cookies ×1

express ×1

jwt ×1

node.js ×1