CodeStates/TIL

JWT(JSON Web Token)

EUNAH.J 2023. 3. 14. 09:32

JWT(JSON Web Token)

Json 포맷으로 사용자에 대한 속성을 저장하는 웹 토큰

 

 

구조

Header

- 어떤 종류의 토큰인가?

- 어떤 알고리즘으로 암호화 하는가?

 

Payload

- 유저의 정보

- 권한을 부여 받았는가?

 

Signature

- Header, Payload를 base64로 인코딩한 결과

 

 

인증 절차

 

 

장점

  • 무상태성 & 확장성
    • 서버는 클라이언트에 대한 정보를 저장할 필요x
    • 토큰을 헤더에 추가함으로 인증절차 완료
  • 안정성
    • 암호화 한 토큰을 사용
    • 암호화 키를 노출 할 필요 X
  • 어디서나 생성 가능
    • 토큰을 생성하는 서버가 꼭 토큰을 만들지 않아도 됨
  • 권한 부여에 용이
    • 토큰의 payload(내용물) 안에 어떤 정보에 접근 가능한지 정의