Integrar el frontend de tu app

En esta página, se describen los pasos para integrar el frontend de tu app con Google Cloud Marketplace. La integración de frontend ayuda a brindar a tus clientes una experiencia sin interrupciones cuando pasan de Google Cloud Marketplace a tu app.

Crea una página de activación de cuenta para nuevos usuarios

Cuando los usuarios eligen tu producto desde Google Cloud Marketplace, deben activar sus cuentas en tu aplicación. Para crear y aprobar las cuentas de los usuarios en tu sistema, debes crear una página de activación. Puedes configurar la página como una página de registro en la que los usuarios deben registrarse para obtener una cuenta en tu sistema o como una página que aprueba las cuentas automáticamente. Cuando configures tu página de activación, asegúrate de que los usuarios puedan acceder a la página sin ingresar un nombre de usuario y una contraseña.

En Google Cloud Marketplace, cuando los usuarios hacen clic en el vínculo para registrarse en tu aplicación, Google envía una solicitud HTTP POST a tu página de activación y envía un token web JSON (JWT) en el parámetro x-gcp-marketplace-token. El JWT contiene el ID de la cuenta de adquisición del usuario, que los identifica como usuarios de Google Cloud. Debes usar este ID para vincular la Cuenta de Google del usuario con su cuenta en tu sistema.

Después de verificar el JWT, tu página de activación debe enviar una solicitud de aprobación de cuenta a la API de Partner Procurement, que se describe en los pasos de integración de backend.

Si eres nuevo en JWT, consulta la introducción a JWT.

Agrega tu página de activación de la cuenta al portal

Puedes usar Producer Portal o el Portal para socios para agregar la URL de tu página de activación de cuentas.

Producer Portal

El vínculo directo al Portal para socios es el siguiente:

https://console.cloud.google.com/producer-portal?project=YOUR_PROJECT_ID

Para agregar tu página de activación de cuentas a Producer Portal:

  1. En la lista de productos, haz clic en el nombre del producto.

  2. En la página Descripción general de tu producto, ve a la sección Integración técnica y haz clic en FRONTEND INTEGRATION.

  3. Ingresa la URL de tu página de activación de cuentas en el campo URL de registro.

Portal para socios

El vínculo directo al Portal de socios es el siguiente:

https://console.cloud.google.com/partner/solutions?project=YOUR_PROJECT_ID

Para agregar tu página de activación de cuentas al Portal para socios:

  1. En la lista de soluciones, haz clic en el ID de la solución que creaste.

  2. En la página Planes y características, haz clic para editar la página.

  3. Ingresa la URL de tu página de activación de cuentas en el campo URL de registro.

Verifica el JWT

La carga útil de JWT está en el siguiente formato:

Encabezado

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

Aquí:

  • alg siempre es RS256
  • kid indica el ID de claves que se usó para asegurar el JWT. Puedes usar el ID de claves con el fin de buscar la clave del objeto de JSON en el atributo iss en la carga útil.

Carga útil

{
  "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",
  "google": {
    "roles": [GCP_ROLE],
    "user_identity": USER_ID
  }
}

Aquí:

  • sub es el ID de la Cuenta de Google del usuario. Debes usar este ID para vincular la Cuenta de Google del usuario con su cuenta en tu sistema.
  • iss identifica el remitente del JWT. La URL en la reclamación de ississ vincula a una clave pública de Google.
  • exp indica cuándo vence el token y se establece en 5 minutos después de que se envía el token.
  • aud es el dominio que aloja tu producto, como example-pro.com.
  • roles es un arreglo de strings que representa las funciones del usuario. En este momento, puede ser una de las siguientes opciones: ** account_admin, que indica que el usuario es un administrador de cuenta de facturación de la cuenta de facturación que compró el producto, o**** project_editor, que indica que el usuario es un editor de proyectos, pero no un administrador de facturación del proyecto en esa cuenta de facturación.
  • user_identity es el ID de GAIA ofuscado del usuario, que se puede usar para iniciar OpenID Connect.

Cuando recibas el JWT, debes verificar lo siguiente:

  1. Que la firma de JWT use la clave pública de Google.

  2. Verifica que el JWT no haya vencido. Para ello, verifica la reclamación exp.

  3. Verifique que la reclamación aud sea el dominio correcto del producto.

  4. Verifica que la reclamación iss sea https://www.googleapis.com/robot/v1/metadata/x509/cloud-commerce-partner@system.gserviceaccount.com.

  5. Verifica que sub no esté vacío.

Se está iniciando el acceso de Google con login_hint.

Si quieres que tus usuarios pasen por un flujo de consentimiento de OAuth 2.0 con tu sitio, puedes usar la información de identidad de la carga útil para inicializar ese flujo en la Cuenta de Google que usaron para Google Cloud antes del redireccionamiento. Para hacer esto, debes proporcionar la user_identity proporcionada en el JWT como login_hint. Para obtener más información, consulta la documentación de Google OAuth 2.0.

Una vez que el usuario complete el flujo de OAuth 2.0 con tu sitio, debes verificar que sea el usuario que esperabas para completar el flujo de OAuth. Para ello, utiliza el token de acceso de OAuth 2.0 a fin de llamar a la API de UserInfo de Google a fin de recuperar su información básica del usuario. Esto muestra un ID que debe coincidir con el campo user_identity del JWT.

Integra el inicio de sesión único (SSO) para tus clientes

Cuando los clientes se registran para su producto, deben poder registrarse en una cuenta en su página de activación sin ingresar primero un nombre de usuario y una contraseña.

La integración con SSO usa JWT para autenticar usuarios. Si eres nuevo en JWT, consulta la introducción a JWT.

Puedes configurar la integración de SSO en Producer Portal o en el Portal para socios:

Producer Portal

Para configurar la integración con SSO, haz lo siguiente:

  1. En la página Descripción general de tu producto, ve a la sección Integración técnica y haz clic en FRONTEND INTEGRATION.

  2. Para vincular tu panel, ingresa la URL de tu panel en el campo URL de acceso.

  3. Para usar el SSO de Google, haz clic en Habilitar acceso a SSO (opcional) y, luego, ingresa tu URL de acceso de SSO en el campo URL de SSO.

  4. En la interfaz web de tu app, agrega un código para verificar la carga útil de JWT que se envía a tu app cuando los usuarios acceden desde Google Cloud Marketplace.

    El formato del JWT para la autenticación es el mismo que el JWT que se envía cuando los usuarios se registran por primera vez en tu aplicación, como se describe en Verifica el JWT.

Portal para socios

Para configurar la integración con SSO, haz lo siguiente:

  1. Ve a la página Planes y características de tu producto y elige EDITAR los planes y características de tu producto.

  2. Para vincular tu panel de control, ingresa la URL del panel en el campo URL del panel.

  3. Para usar el SLO de Google, en Acceso a SSO (opcional), haz clic en Habilitar SSO y, luego, ingresa tu URL de acceso de SSO en la URL de acceso de SSO. Ingresa la URL de las claves de API de SSO en el campo URL de las claves de API de SSO.

  4. En la interfaz web de tu app, agrega un código para verificar la carga útil de JWT que se envía a tu app cuando los usuarios acceden desde Google Cloud Marketplace.

    El formato del JWT para la autenticación es el mismo que el JWT que se envía cuando los usuarios se registran por primera vez en tu aplicación, como se describe en Verifica el JWT.