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을 사용하여 요청을 보낼 수도 있습니다.

절차

  1. 개발자 포털에서 애플리케이션 계획을 구독하십시오.

    이렇게 하면 개발자 포털에 애플리케이션이 생성됩니다. OpenID Connect ID 공급자는 개발자 포털의 애플리케이션 페이지에서 볼 수 있는 클라이언트 ID와 클라이언트 시크릿을 반환해야 합니다.

  2. 애플리케이션의 클라이언트 ID와 클라이언트 시크릿을 기록해 둡니다.
  3. OpenID Connect ID 공급자에 이제 동일한 클라이언트 ID 및 클라이언트 시크릿이 있는 클라이언트가 있는지 확인합니다. 예를 들어 RH-SSO(Red Hat Single Sign-On)가 OpenID Connect ID 공급자인 경우 구성된 RH-SSO 영역에 새 클라이언트를 확인할 수 있습니다.
  4. 개발자 포털의 애플리케이션 페이지에서 REDIRECT URL 필드에 API 요청을 업스트림 API로 보내는 애플리케이션의 URL을 입력합니다.
  5. OpenID Connect ID 공급자에 올바른 리디렉션 URL이 있는지 확인합니다.
  6. 이 끝점을 사용하여 OpenID Connect ID 공급자에 대한 인증 요청을 수신하는 URL을 검색합니다.

    .well-known/openid-configuration

    예를 들면 다음과 같습니다.

    https://<rhsso_host>:<rhsso_port>/auth/realms/<realm_name>/.well-known/openid-configuration
  7. 기본 URL의 경우 OpenID Connect Issuer 필드에 구성된 API 공급자가 값을 사용합니다.
  8. 업스트림 API를 사용하는 애플리케이션을 작성하는 API 소비자는 다음을 수행합니다.

    1. OpenConnect ID 공급자를 사용하여 인증 흐름을 시작합니다. 이 요청에는 3scale 애플리케이션의 클라이언트 ID와 클라이언트 시크릿이 포함되어야 합니다. 경우에 따라 최종 사용자 ID도 필요합니다.
    2. 권한 부여 코드가 포함된 ID 공급자의 응답을 수신합니다.
  9. API 소비자 애플리케이션은 다음을 수행합니다.

    1. JWT에 대한 인증 코드를 교환합니다.
    2. 인증 시 RH-SSO에서 JWT를 받습니다.
    3. JWT가 포함된 API 요청을 업스트림 API 백엔드에 보냅니다.

APIcast가 요청에서 JWT를 수락하면 애플리케이션이 API 백엔드에서 응답을 수신합니다.

또는 API 소비자 애플리케이션 대신 Postman을 사용하여 토큰 흐름이 올바르게 구현되는지 테스트합니다.