로그인 인증 방식 중 하나인 JWT가 무엇인지 알아보자.
JWT란?
- JSON Web Token
- 웹 어플리케이션 간에 정보를 안전하게 전달하기 위한 간단한 토큰 기반의 인증 방식
- 사용자가 로그인한 후에 발급
- 토큰은 사용자의 신원을 확인
- 토큰은 JSON 형식으로 인코딩되어 있고, 사용자의 정보와 함께 서명되어 있어 데이터의 무결성을 보장
- 사용자의 인증 및 권한 부여를 처리하는 데 매우 유용
- 웹 서비스와 모바일 앱 등에서 널리 사용
JWT의 구조
JWT는 Header, Payload, Signature 이렇게 세 부분으로 구성
1. Header(헤더)
- JWT의 header는 두 가지 정보를 가지고 있음
1) 이 토큰이 JWT임을 나타내는 "typ" 필드
2) 어떤 hashing 알고리즘을 사용해 시그니처를 생성하는지를 나타내는 "alg" 필드
2. Payload(페이로드)
- 실제 정보가 담겨 있는 부분
- 사용자의 정보나 claim이라고 불리는 데이터가 여기에 포함
- 사용자 식별 정보나 추가 정보 등을 담고 있음
- 누구나 볼 수 있는 공개 claim과 서버와 클라이언트 간의 비공개 claim으로 나뉨
3. Signature(시그니처)
- 토큰의 유효성을 확인하는 데 사용
- 헤더와 페이로드, 비밀 키를 조합하여 생성됨
- 서버는 이 시그니처를 검증하여 토큰이 유효한지 확인 가능
LIST
'Computer Programming > AI' 카테고리의 다른 글
TIL_Django REST Framework(DRF)의 serializers 사용 방법 (0) | 2023.10.07 |
---|---|
TIL_Cookie/Session 방식과 Token 방식의 차이점 (0) | 2023.10.05 |
TIL_HTTP, HTTPS, SSH란? (0) | 2023.10.02 |
TIL_DRF에서 Meta class란? (0) | 2023.09.27 |
TIL_Django REST Framework Project, blog 만들기(1) (0) | 2023.09.26 |