본문 바로가기

Javascript/NestJS

JWT(JSON Web Token)

1.JWT(JSON Web Token)

 

(1) 유저의 정보를 담은 객체를 암호화하여 문자열로 만들어 암호화된 키(accessToken)를 브라우저로 전달해 줌

(2) 브라우저 저장소에 저장해두었다가 유저 정보가 필요한 API를 사용할 때 API 요청과 함께  보내주면,  이를 백엔드에서 복호화해서 사용자를 식별한 후 접근이 가능하게 함

(3) 발급 받아온 서버에서 정상적으로 발급을 받았다는 증명하는 signature를 가지고 있음

(4) 사용자 정보를 DB를 열어보지 않고도 식별 할 수 있게 됨

 

 

2. JWT 토큰의 구성

 

(1) header: 토큰의 타입, 암호화 시 사용한 알고리즘 정보

(2) payload: 토큰 발행정보(발행자, 발행일, 만료일)

(3) signature : 토큰의 비밀번호

 

3. JWT 주의 사항

 

(1) JWT는 암호화는 했지만 누구든 열어볼 수 있음

(2) 그렇기에 중요한 데이터는 JWT 토큰에 저장하면 X

(3) 토큰 생성 시 signature(토큰의 비밀번호)를 생성하여 상용, 이 비밀번호로  토큰 조작 여부 판단

'Javascript > NestJS' 카테고리의 다른 글

Login Process  (0) 2022.12.05
브라우저 저장소(Web Storage), Cookie  (0) 2022.12.05
DB Schema / ERD  (0) 2022.11.20
TypeORM  (0) 2022.11.20
NestJS  (0) 2022.11.20