集成应用的前端

本页介绍了将您的应用前端与 Google Cloud Marketplace 集成的步骤。前端集成可帮助您的客户从 Google Cloud Marketplace 转到您的应用时获得流畅的体验。

为新用户创建帐号激活页面

用户从 Google Cloud Marketplace 中选择您的解决方案时,他们必须在您的应用中激活其帐号。您必须创建一个激活页面才能在系统中设置和批准用户帐号。您可以将页面设置为注册页面,用户必须在其中注册系统中的帐号,也可以设置为自动批准帐号的页面。

在 Google Cloud Marketplace 中,当用户单击链接以注册您的应用时,Google 会向您的激活页面发送一个 HTTP POST 请求,并在 x-gcp-marketplace-token 参数中发送一个 JSON Web 令牌(JWT)。JWT 包含用户的采购帐号 ID,该帐号将其标识为 Google Cloud 用户。您必须使用此 ID 将用户的 Google 帐号与用户在您系统中的帐号相关联。

验证 JWT 后,您的激活页面必须向采购 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 声明中的网址链接到 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 集成,请执行以下操作:

  • 在合作伙伴门户的 Plans and Features(方案和功能)部分中,为您的解决方案添加信息中心或网页界面的网址。

  • 在应用的网页界面中,添加代码以验证当用户从 Google Cloud Marketplace 登录时发送到应用的 JWT 载荷。

    用于身份验证的 JWT 格式与用户首次注册应用时系统发送的 JWT 格式相同,如验证 JWT 中所述。