Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
Tags
- db
- 프론트엔드
- Spring
- java
- 백엔드개발자
- 인프라
- 웹성능최적화
- 캐시
- 보안
- Spring Boot
- 백엔드기초
- spring event
- DEVIEW2023
- 클린코드
- 네트워크
- AbstractAggregateRoot
- 세션
- http
- devops
- redis
- 성능최적화
- 백엔드개발
- CS
- 인증
- JPA
- 웹개발
- 데이터베이스
- interceptor
- 백엔드
- SnowFalke
Archives
- Today
- Total
이것저것 개발기록
JWT(JSON Web Token)의 구조와 보안 가이드 본문
"세션(Session) 없이 어떻게 사용자를 식별할까요?"
현대 웹 인증의 표준이 된 JWT의 구조와 사용 시 주의할 점을 정리했습니다.
1. JWT의 3요소
JWT는 Header.Payload.Signature 형태의 문자열입니다.
- Header: 토큰의 유형과 암호화 알고리즘(예: HS256) 정보
- Payload: 실제 담고 싶은 데이터 (사용자 ID, 만료 시간 등)
- Signature: 서버의 비밀키로 만들어진 서명 (위변조 검증용)
2. 왜 사용할까?
서버에 사용자 정보를 따로 저장하지 않아도(Stateless) 되기 때문입니다. 덕분에 서버 확장성이 매우 뛰어나죠.
💡 실무 노트
가장 흔히 하는 실수가 Payload에 민감한 정보(비밀번호 등)를 넣는 것입니다. Payload는 암호화된 게 아니라 단순히 Base64로 인코딩된 것이라 누구나 열어볼 수 있거든요.
팁: Access Token은 짧게 유지하고, Refresh Token을 도입해 보안을 강화하세요. 토큰이 탈취되었을 때를 대비한 전략이 실무에서는 필수입니다.
'IT 이야기' 카테고리의 다른 글
| 서버가 터지지 않게! 로드 밸런싱(Load Balancing)의 기초 (0) | 2025.12.28 |
|---|---|
| MVC 패턴이란? 역할 분담이 중요한 이유 (1) | 2025.12.27 |
| 자바 가비지 컬렉션(GC)의 원리와 메모리 관리 (0) | 2025.12.27 |
| 데이터베이스 트랜잭션과 ACID 원칙 (0) | 2025.12.27 |
| Docker를 왜 쓰나요? 가상머신(VM)과의 결정적 차이 (0) | 2025.12.27 |