인프런 커뮤니티 질문&답변

작성자 없음

작성자 정보가 삭제된 글입니다.

[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지

JWT 토큰 사용하기

jwt 쿠키 발급

작성

·

224

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 키를 무슨 용도로 쓰신다는 것인가요?

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기