アプリケーションのフロントエンドの統合

このページでは、アプリのフロントエンドを Google Cloud Marketplace と統合する手順について説明します。フロントエンドの統合により、顧客が Google Cloud Marketplace からアプリに移動するときにスムーズなエクスペリエンスを提供できます。

新規ユーザーのアカウント有効化ページを作成する

ユーザーが Google Cloud Marketplace からソリューションを選択するとき、ユーザーはアプリで自分のアカウントを有効にする必要があります。システムでユーザーのアカウントを設定および承認するため、有効化ページを作成する必要があります。このページは、ユーザーがシステムのアカウントに登録する必要がある登録ページとして、またはアカウントを自動的に承認するページとして設定できます。

Google Cloud Marketplace では、ユーザーがリンクをクリックしてアプリに登録すると、有効化ページに HTTP POST リクエストが送信され、x-gcp-marketplace-token パラメータで JSON ウェブトークン(JWT)が送信されます。JWT には、ユーザーの調達アカウント ID が含まれており、Google Cloud Platform ユーザーとして識別されます。この ID を使用して、ユーザーの Google アカウントをシステムのアカウントにリンクする必要があります。

JWT を確認した後、有効化ページでは、バックエンド統合手順で説明されているように、Procurement API にアカウント承認リクエストを送信する必要があります。

JWT を初めて使用する場合は、JWT の概要をご覧ください。

JWT を確認する

JWT ペイロードの形式は次のとおりです。

ヘッダー

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

ここで

  • alg は常に RS256 です
  • kid は JWT を保護するために使用されたキー ID を示します。キー ID を使用して、ペイロード内の iss 属性の JSON オブジェクトからキーを検索します。

ペイロード

{
  "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 です。この ID を使用して、ユーザーの Google アカウントをシステムのアカウントにリンクする必要があります。
  • iss は JWT の送信者を識別します。iss クレーム内の 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 統合では、JSON ウェブトークン(JWT)を使用してユーザーを認証します。JWT を初めて使用する場合は、JWT の概要をご覧ください。

SSO の統合を設定するには:

  • パートナー ポータルの [プランと機能] セクションで、ダッシュボードまたはウェブ インターフェースの URL をソリューションに追加します。

  • アプリケーションのウェブ インターフェースに、ユーザーが Google Cloud Marketplace からログインするときにアプリケーションに送信される JWT ペイロードを確認するコードを追加します。

    認証用の JWT の形式は、ユーザーがアプリケーションに初めて登録したときに送信される JWT と同じです(JWT を確認するをご覧ください)。