• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

jwt 쿠키 발급

22.03.30 11:24 작성 조회수 156

0

안녕하세요.
교과서 446p
"JWT 토큰으로 로그인하려면"
부분에서 세션에 데이터를 저장하고 세션 쿠키를 발급하는 대신
토큰을 쿠키로 발급하면 됩니다 부분 보고 만들어보았는데 PEM 키를 사용하려면 passport-jwt 사용 하면 되는 걸까요?
 
auth.js 로그인 라우터
router.post("/login", async (req, res, next) => {
  const user = await User.findOne({ where: { name: req.body.name }});
  const compare = await bcrypt.compare(req.body.password, user.password);
  if (!compare) {
    console.log("비밀번호 불일치");
    return res.redirect("/");
  }
  const token = jwt.sign({
    name: user.name,
  }, process.env.COOKIE_SECRET, {
    expiresIn: "1m",
    issuer: "test",
  });
  res.cookie("user", token).redirect("/test");
});

router.get("/test", verifyToken, async (req, res, next) => {
  console.log(req.decoded);
  res.end();
});
 
verifyToken 미들웨어
const jwt = require("jsonwebtoken");

exports.verifyToken = (req, res, next) => {
  try {
    req.decoded = jwt.verify(req.cookies.user, process.env.COOKIE_SECRET);
    return next();
  } catch (err) {
    console.error(err);
  }
};

답변 1

답변을 작성해보세요.

0

pem 키를 무슨 용도로 쓰신다는 것인가요?