: 본인이 아닌 임의의 브라우저에서 token을 조작하는것을 방지하기 위해
npm install jsonwebtoken
const jwt = require("jsonwebtoken")
const user = {
userId: 1,
email: "dndbxhd10@naver.com",
name: "민태영"
}
JWT.sign(1번째인자: 보내고싶은 데이터, 2번째인자: jwt의 비밀키, 3번째인자: jwt의 인증 만료시간)
const userJWT = await JWT.sign(user, "secretKey", { expiresIn: "1h"})
생성된 jwt를 담은 userJWT를 cookieName이라는 이름을 가진 쿠키에 Bearer토큰 형식으로 할당
res.cookie("cookieName", `Bearer ${userJWT}`);
return res.status(200).end();
! 먼저 부호화 복호화란
const decodedVal = jwt.decode(userJWT)
결과
const decodedValVerify = jwt.verify(userJWT, 'secretKey')
1번째 인자에 검증하고자하는 jwt를 2번째 인자에 비밀키를 입력
(1) 비밀키가 일치하여 검증이 되면
{
userId: 1,
email: "dndbxhd10@naver.com",
name: "민태영"
}
token값이 정상출력된다.
(2) 비밀키가 일치하지 않아 검증이 안되면
JsonWebTokenError: invalid signature 에러가 뜸