JWT (JSON Web Token)

JOO·2021년 11월 26일
0

node.js

목록 보기
8/15

JWT (JSON Web Token)

  1. JSON 형태의 데이터를 안전하게 교환하여 사용할 수 있다.
  2. 인터넷 표준으로서 자리잡은 규격.
  3. 여러가지 암호화 알고리즘을 사용할 수 있다.
  4. header.payload.signature의 형식으로 3가지의 데이터를 포함

1. header.payload.signature

  • header : signature에서 어떤 암호화를 사용하여 생성된 데이터인지 표현.
  • payload : 원하는 데이터를 저장.
  • signature : 토큰이 변조되지 않은 정상적인 토큰인지 확인

2. 쿠키, 세션과의 차이점

  • 데이터를 교환하고 관리하는 쿠키, 세션과 달리 JWT는 단순히 데이터를 표현하는 형식.

3. Express환경에서 JWT 사용


1. 모듈 설치
npm init npm i jsonwebtoken -S

2. JSON 데이터 암호화
const jwt = require("jsonwebtoken"); const token = jwt.sign({ myPayloadData: 1234 }, "mysecretkey");

3. 코드 검증
const jwt = require("jsonwebtoken"); const token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJteVBheWxvYWREYXRhIjoxMjM0fQ.6XFgtNglH9hIzz5y8jAcI0g5kDnlAvnTTbxKIcL2CHY"; const decodedValue = jwt.verify(token, "myesecretkey");
추가적으로 JWT는 암호키를 몰라도 decode가 가능함. 대신 변조가 불가능. 되도록 개인정보, 비밀번호는 담지 않도록 해야함.
profile
개발공부 기록

0개의 댓글

관련 채용 정보

Powered by GraphCDN, the GraphQL CDN