12.6. OpenID Connect ID 공급자를 사용하여 3scale 통합 테스트
3scale을 OpenID Connect ID 공급자와 통합한 후 통합을 테스트하여 이를 확인합니다.
- API 소비자는 3scale 관리 API를 구독하면 액세스 자격 증명을 수신합니다.
- APIcast는 API 소비자의 요청을 인증할 수 있습니다.
사전 요구 사항
- 3scale과 OpenID Connect ID 공급자 간의 통합은 특정 3scale API 제품에 적용됩니다. 이 통합에서는 인증 코드 흐름을 사용합니다.
- API 소비자는 개발자 포털에서 애플리케이션 계획을 구독할 수 있습니다. 이 애플리케이션 계획은 OpenID Connect 인증을 구성한 3scale 제품인 3scale 관리 API에 대한 액세스를 제공합니다.
- 업스트림 API로 요청을 전송하는 애플리케이션입니다. 업스트림 API는 서브스크립션으로 인해 API 소비자 애플리케이션이 액세스할 수 있는 3scale 제품의 백엔드입니다. 또는 Postman을 사용하여 요청을 보낼 수도 있습니다.
절차
- 개발자 포털에서 애플리케이션 계획을 구독하십시오. - 이렇게 하면 개발자 포털에 애플리케이션이 생성됩니다. OpenID Connect ID 공급자는 개발자 포털의 애플리케이션 페이지에서 볼 수 있는 클라이언트 ID와 클라이언트 시크릿을 반환해야 합니다. 
- 애플리케이션의 클라이언트 ID와 클라이언트 시크릿을 기록해 둡니다.
- OpenID Connect ID 공급자에 이제 동일한 클라이언트 ID 및 클라이언트 시크릿이 있는 클라이언트가 있는지 확인합니다. 예를 들어 RH-SSO(Red Hat Single Sign-On)가 OpenID Connect ID 공급자인 경우 구성된 RH-SSO 영역에 새 클라이언트를 확인할 수 있습니다.
- 관리 포털의 애플리케이션 페이지의 REDIRECT URL 필드에 API 요청을 업스트림 API로 보내는 애플리케이션의 URL을 입력합니다.
- OpenID Connect ID 공급자에 올바른 리디렉션 URL이 있는지 확인합니다.
- 이 끝점을 사용하여 OpenID Connect ID 공급자에 대한 인증 요청을 수신하는 URL을 검색합니다. - .well-known/openid-configuration - .well-known/openid-configuration- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 예를 들면 다음과 같습니다. - https://<rhsso_host>:<rhsso_port>/auth/realms/<realm_name>/.well-known/openid-configuration - https://<rhsso_host>:<rhsso_port>/auth/realms/<realm_name>/.well-known/openid-configuration- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 기본 URL의 경우 OpenID Connect Issuer 필드에 구성된 API 공급자가 값을 사용합니다.
- 업스트림 API를 사용하는 애플리케이션을 작성하는 API 소비자는 다음을 수행합니다. - OpenConnect ID 공급자를 사용하여 인증 흐름을 시작합니다. 이 요청에는 3scale 애플리케이션의 클라이언트 ID와 클라이언트 시크릿이 포함되어야 합니다. 경우에 따라 최종 사용자 ID도 필요합니다.
- 권한 부여 코드가 포함된 ID 공급자의 응답을 수신합니다.
 
- API 소비자 애플리케이션은 다음을 수행합니다. - JWT에 대한 인증 코드를 교환합니다.
- 인증 시 RH-SSO에서 JWT를 받습니다.
- JWT가 포함된 API 요청을 업스트림 API 백엔드에 보냅니다.
 
APIcast가 요청에서 JWT를 수락하면 애플리케이션이 API 백엔드에서 응답을 수신합니다.
또는 API 소비자 애플리케이션 대신 Postman을 사용하여 토큰 흐름이 올바르게 구현되는지 테스트합니다.