- [JPA] JWT란?2024년 10월 25일
- Song hyun
- 작성자
- 2024.10.25.:28
728x90반응형[JPA] JWT란?
1. JWT란 무엇일까?
- JWT는 JSON Web Token의 약자로, 두 시스템 간에 정보를 안전하게 전송하기 위해 사용되는 토큰 기반 인증 방식이다.
- 클라이언트-서버 간에 인증 정보나 사용자 상태를 유지하고 싶을 때 JWT를 사용한다.
2. JWT의 구조 : JWT는 크게 세 부분으로 구성되어 있다.
- 헤더(Header): 토큰의 타입과 해싱 알고리즘 정보를 담고 이싿.
- 페이로드(Payload): 주로 사용자 정보나 데이터를 포함하는 부분이다. 사용자 ID, 사용자 이름, 토큰 만료 시간 등의 정보가 담겨 있다.
- 서명(Signature): 헤더와 페이로드의 내용을 해싱한 뒤, 비밀키로 서명한 부분이다. 이 서명을 통해 데이터가 위변조되지 않았음을 확인할 수 있다.
3. JWT의 작동 방식
- JWT는 클라이언트가 서버에 인증 요청을 보내면, 서버에서 토큰을 발급한다.
- 이 발급된 토큰은 클라이언트에 저장되어 있고, 이후 요청을 보낼 때 이 토큰을 포함한다.
- 서버는 토큰을 검증해 클라이언트가 올바른 사용자임을 확인한다.
- 이를 통해 세션을 유지하지 않고도 사용자 인증을 할 수 있다!
4. JWT의 장단점
장점 단점 -확장성: 서버에 세션을 저장할 필요가 없어 서버 확장에 유리함 -보안 위험: JWT가 한번 발급되면 만료 전까지 유효함 -독립적 인증: 각 요청에 대해 JWT를 포함하므로 서버에 저장할 필요가 없음 -Payload 노철: JWT는 Base64로 인코딩되므로, 암호화된 것이 아니라 누구든 디코딩할 수 잇음 -자기 포함: JWT 자체에 필요한 정보를 포함하고 있으므로, 서버에서 사용자 정보를 따로 찾을 필요가 없음 728x90반응형'JPA' 카테고리의 다른 글
[JPA] JWT를 사용한 로그인 인터셉터 만들기 (0) 2024.10.25 [JPA] 34. RestAPI에 기반한 회원가입 기능 만들기 (3) 2024.10.23 [JPA] 32. 공통 응답 DTO 및 예외 처리 구조 만들기 (0) 2024.10.23 [JPA] 31. RestAPI 주소설계와 세팅 (0) 2024.10.23 [JPA] 30. RestAPI 주소 설계 규칙 (0) 2024.10.21 다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)