이 강의에서는 게이트웨이 서버를 OAuth2 클라이언트 자격 증명 방식(client credentials grant type flow)을 사용하여 리소스 서버로 변환하는 과정을 설명하겠습니다. 이미 클라이언트와 인증 서버 설정을 완료했으므로, 이제 남은 작업은 게이트웨이 서버를 리소스 서버로 설정하는 것입니다.
새 프로젝트 폴더 생성 및 코드 복사:
section12
로 변경한 후, IntelliJ에서 해당 폴더를 엽니다.필요한 종속성 추가:
pom.xml
파일을 열고, 다음과 같은 세 가지 종속성을 추가합니다:보안 설정 클래스 생성:
com.eazybytes.gatewayserver.config
패키지를 생성하고, SecurityConfig
라는 클래스를 만듭니다.@Configuration
및 @EnableWebFluxSecurity
어노테이션을 추가하여 스프링 프레임워크에 보안 설정을 알립니다.SecurityWebFilterChain
을 반환하는 메서드를 생성하여 보안 필터 체인을 정의합니다.GET
요청을 permitAll()
로 설정하고, accounts
, cards
, loans
경로에 대해 authenticated()
로 설정하여 보호합니다.oauth2ResourceServer()
메서드를 호출하여 JWT 토큰을 사용하도록 설정합니다.CSRF 보호 비활성화:
csrf()
메서드를 호출하여 CSRF 보호를 비활성화합니다. 이 보호 기능은 브라우저가 사용될 때만 필요합니다.application.yml 파일에 설정 추가:
application.yml
파일에 다음 속성을 추가합니다:spring:
security:
oauth2:
resourceserver:
jwt:
jwk-set-uri: http://localhost:7080/realms/master/protocol/openid-connect/certs
빌드 및 테스트 준비:
이제 게이트웨이 서버를 OAuth2 클라이언트 자격 증명 방식에서 리소스 서버로 성공적으로 변환했습니다. 이 설정을 통해 게이트웨이 서버는 인증된 클라이언트 애플리케이션에서만 요청을 처리할 수 있습니다. 다음 강의에서는 이 설정이 제대로 작동하는지 테스트해 보겠습니다.
감사합니다, 다음 강의에서 뵙겠습니다. 안녕히 계세요!