모든 마이크로서비스가 개별적으로 인증 검사를 하지 않고, Gateway 단에서 JWT 토큰을 검사하고 필요한 서비스로 전달하는 방식
사용자가 로그인 후 발급받은 JWT 토큰을
모든 요청의 헤더에 포함시켜 Gateway로 전달하고
Gateway가 유효성 검사(Validation) 를 수행한 뒤
내부 서비스 간 통신 시에도 동일한 토큰을 붙여주어 인증 정보가 유지되도록 하는 구조
회원가입 및 로그인 .. 등등 게이트웨이에서 토큰을 들고왔는지 유효성검사


AuthorizationHeaderFilter

| 항목 | 설명 |
|---|---|
| 클래스명 | AuthorizationHeaderFilter |
| 역할 | Gateway에서 모든 요청의 Authorization 헤더(JWT 토큰)를 검사 |
| 상속 | AbstractGatewayFilterFactory → Gateway 필터를 직접 정의 |
| 기술 스택 | Spring WebFlux (비동기), JWT (io.jsonwebtoken) |
| 주요 동작 | 요청 헤더 검사 → Bearer 토큰 추출 → 유효성 검증 → 실패 시 401 반환 |
사용자가 요청을 보낼 때 JWT 토큰을 Authorization 헤더에 포함
예:
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Gateway는 요청이 들어오면 필터(Filter) 에서 이 헤더를 꺼내
① 토큰이 존재하는지
② 유효한 토큰인지(JWT 서명 검증 등)
③ 토큰에 담긴 권한이 요청 URI를 접근할 수 있는지
를 검사합니다.