JWT 사용 흐름
1. Client 가 username, password 로 로그인 성공 시
- "로그인 정보" → JWT 로 암호화 (Secret Key 사용)
- JWT 를 Client 응답에 전달. (JWT 전달방법은 개발자가 정함 - 예) 응답 Header 에 아래 형태로 JWT 전달)
- Client 에서 JWT 저장 (쿠키, Local storage 등)
2. Client 에서 JWT 통해 인증방법
- JWT 를 API 요청 시마다 Header 에 포함 - 예) HTTP Headers
- Server
- Client 가 전달한 JWT 위조 여부 검증 (Secret Key 사용)
- JWT 유효기간이 지나지 않았는지 검증
- 검증 성공시, JWT → 에서 사용자 정보를 가져와 확인 ex) GET /api/products : JWT 보낸 사용자의 관심상품 목록 조회
JWT 구조
- JWT 는 누구나 평문으로 복호화 가능
- 하지만 Secret Key 가 없으면 JWT 수정 불가능 → 결국 JWT 는 Read only 데이터
'Coding > Spring' 카테고리의 다른 글
[19] 스프링 프레임워크 (0) | 2022.12.08 |
---|---|
[참고자료] 생성자와 의존성 주입 (기술매니저님 작성글) (0) | 2022.12.07 |
[18] 인증과 인가 (1) 세션/쿠키, JWT (1) | 2022.12.07 |
[17] 숙련주차 과제 (개념 부분 - 키워드 정리) (0) | 2022.12.07 |
[16] IntelliJ 단축키 모음 (0) | 2022.12.07 |