스프링에서 JWT를 활용할 때 Filter와 ArgumentResolver를 같이 사용하면 인증 로직을 효율적으로 관리할 수 있어요.
JWT (JSON Web Token)란?
- 사용자 인증 정보를 담은 토큰 기반 인증 방식
- 서버가 상태를 저장하지 않는 stateless
- 로그인 시 Access Token을 발급하고, 이후 요청마다 포함하여 인증
Filter란?
- 컨트롤러에 도달하기 전에 요청을 가로채는 역할
- JWT가 유효한지 검증 후 통과시키거나, 차단
JWT 인증 과정에서 Filter 사용
- 클라이언트가 요청 시 JWT 포함
- Filter에서 JWT 검증 (유효성 검사)
- 유효하면 Security Context에 사용자 정보 저장
ArgumentResolver란?
- 컨트롤러의 메서드 파라미터를 자동 변환하는 기능
- JWT에서 유저 정보를 꺼내 컨트롤러에서 바로 사용 가능
JWT + Filter + ArgumentResolver 동작 흐름
- 클라이언트 → 로그인 요청 (ID/PW)
- 서버 → JWT 발급 후 응답 (Access Token)
- 클라이언트 → 이후 요청마다 JWT 포함
- Filter → 요청을 가로채서 JWT 검증
- ArgumentResolver → JWT에서 유저 정보를 추출해 컨트롤러에 전달
'Spring' 카테고리의 다른 글
3 Layer Architecture (0) | 2025.02.03 |
---|---|
HTTP의 Stateless와 JWT를 통한 인증 방식 (2) | 2024.09.10 |
컨트롤러 만들어서 URL 매핑 (0) | 2024.08.30 |
ORM이란? (0) | 2024.08.28 |
@Controller (0) | 2024.08.27 |