JWT 란?
Json Web Token
의 약자로 json 형태로 사용자의 속성 정보를 암호화하여 저장해 주는 대표 모듈이다.
Prerequisites
- nodejs
JWT 설치
1
npm install jsonwebtoken
JWT 암호화
1
2
3
4
5
6
7
8
9
// jsonwebtoken 사용하기 위해 불러오기
import jwt from "jsonwebtoken";
const user = { id: "1004" }
// 토큰 만들때 사용할 SECRET KEY
const SECRET_KEY="SECRET"
// 토큰 생성
çonst token = await jwt.sign({ id:user.id }, SECRET_KEY);
토큰의 유효시간을 설정할 수도 있다.
1
2
// 토큰 생성 + 유효시간 설정(1시간)
const token = await jwt.sign({ id:user.id }, SECRET_KEY, { expiresIn: 60 * 60 });
JWT 복호화
1
2
3
4
// 토큰 복호화
// iat : 생성된 시간
// exp : 유효 시간
const decode = await jwt.verify(token, SECRET_KEY); // { id: '1004', iat: 1674780900, exp: 1674784500 }