애플리케이션의 프런트엔드 통합

이 페이지에서는 앱의 프런트엔드를 Google Cloud Marketplace와 통합하는 단계에 대해 설명합니다. 프런트엔드 통합은 고객이 Google Cloud Marketplace에서 앱으로 이동할 때 원활한 실험 환경을 제공하도록 도와줍니다.

신규 사용자를 위한 계정 활성화 페이지 생성

사용자가 Google Cloud Marketplace에서 솔루션을 선택하면 앱에서 계정을 활성화해야 합니다. 시스템에서 사용자 계정을 설정하고 승인하려면 활성화 페이지를 작성해야 합니다. 페이지를 사용자가 시스템의 계정에 등록해야 하는 등록 페이지 또는 자동으로 계정을 승인하는 페이지로 설정할 수 있습니다.

Google Cloud Marketplace에서 사용자가 링크를 클릭하여 앱에 가입하면 Google은 활성화 페이지에 HTTP POST 요청을 전송하고 x-gcp-marketplace-token 매개 변수의 JSON 웹 토큰 (JWT)을 전송합니다. JWT에는 사용자의 조달 계정 ID가 포함되며 이를 통해 Google Cloud 사용자로 식별됩니다. 사용자의 Google 계정을 시스템 계정에 연결하려면 이 ID를 사용해야 합니다.

JWT를 확인한 후 활성화 페이지는 백엔드 통합 단계에 설명된 대로 계정 승인 요청을 조달 API로 보내야 합니다.

JWT를 처음 사용하는 경우에는 JWT 소개를 참조하세요.

JWT 확인

JWT 페이로드는 다음 형식입니다.

헤더

{
  "alg": "RS256",
  "kid": "KEY_ID"
}

여기에서

  • alg은 항상 RS256입니다.
  • kid은 JWT 보안을 위해 사용된 키 ID를 나타냅니다. 페이로드에서 iss 속성에 있는 JSON 객체로부터 키를 조회하려면 이 키 ID를 사용합니다.

페이로드

{
  "iss": "https://www.googleapis.com/robot/v1/metadata/x509/cloud-commerce-partner@system.gserviceaccount.com",
  "iat": CURRENT_TIME,
  "exp": CURRENT_TIME + 5 minutes,
  "aud": "PARTNER_DOMAIN_NAME",
  "sub": "PROCUREMENT_ACCOUNT_ID"
  }
}

여기에서

  • sub는 사용자의 Google 계정 ID입니다. 사용자의 Google 계정을 시스템 계정에 연결하려면 이 ID를 사용해야 합니다.
  • ississ는 JWT를 보낸 사람입니다. ississ 클레임의 URL은 Google의 공개 키에 연결됩니다.
  • exp은 토큰이 만료되는 시기를 나타내며 토큰이 전송된 후 5분으로 설정됩니다.
  • aud는 솔루션을 호스팅하는 도메인입니다(예: example-pro.com).

JWT가 수신되면 다음을 확인해야 합니다.

  1. JWT 서명이 Google의 공개 키를 사용 중인지 확인합니다.

  2. exp 클레임을 확인하여 JWT가 만료되지 않았는지 확인합니다.

  3. aud 클레임이 솔루션의 올바른 도메인인지 확인하십시오.

  4. iss 클레임이 https://www.googleapis.com/robot/v1/metadata/x509/cloud-commerce-partner@system.gserviceaccount.com인지 확인합니다.

  5. sub이 비어있지 않은지 확인하십시오.

고객을 위한 SSO(싱글 사인온) 통합

고객이 솔루션에 등록할 때, 고객은 다른 사용자 이름 및 비밀번호를 입력하지 않고도 애플리케이션에 로그인할 수 있어야 합니다.

SSO 통합은 JWT(JSON 웹 토큰)를 사용하여 사용자를 인증합니다. JWT를 처음 사용하는 경우에는 JWT 소개를 참조하세요.

SSO 통합을 설정하려면 다음을 수행하세요.

  • 파트너 포털의 요금제 및 기능 섹션에서 대시보드 또는 웹 인터페이스의 URL을 솔루션에 추가합니다.

  • 애플리케이션의 웹 인터페이스에서 사용자가 Google Cloud Marketplace에서 로그인할 때 애플리케이션으로 전송되는 JWT 페이로드를 확인하는 코드를 추가하십시오.

    인증을 위한 JWT 형식은 JWT 확인에 설명된 대로 사용자가 처음 애플리케이션을 등록할 때 전송된 JWT와 동일합니다.