[nodejs] JWT(Json Web Token)
Post

[nodejs] JWT(Json Web Token)

JWT 란?

Json Web Token의 약자로 json 형태로 사용자의 속성 정보를 암호화하여 저장해 주는 대표 모듈이다.

JWT - Wiki

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 }