Demostración del SDK de incorporación

El repositorio del SDK de Embed incluye código de muestra y una demostración sencilla del SDK de Embed. Debido a la atención de Looker a la seguridad, la demostración requiere un poco de configuración. La demostración también requiere tu secreto de incorporación de Looker. El secreto de incorporación otorga acceso a todos tus datos, por lo que debes tener en cuenta lo siguiente:

  • No compartas tu secreto con nadie que no quieras tener acceso completo a tu instancia.
  • No restablezcas tu secreto si ya lo usas en otro contexto.
  • No configures tu código para almacenar el secreto en el navegador web.

Paso 1: Habilita la incorporación en tu instancia de Looker

Esto se documenta con más detalle en la página de documentación sobre Incorporación de inicio de sesión único (SSO).

  1. Navega a Admin > Platform Embed en tu instancia de Looker. Esto requiere privilegios de administrador.
  2. El servidor de demostración se ejecuta de forma predeterminada en http://localhost:8080. Si agregas esa dirección a la lista de entidades permitidas del dominio incorporada, puedes permitir que la demostración reciba mensajes de Looker.
  3. Activa Incorporar autenticación.
  4. Para ver el secreto de incorporación, debes restablecerlo. Copia el secreto en un lugar seguro.

Paso 2: Personaliza la configuración de demostración para tu instancia de Looker

Proporciona tu secreto de incorporación al servidor. Puede hacerlo de las siguientes maneras:

  • Configúralo como LOOKER_EMBED_SECRET en tu entorno de shell.
  • Crea un archivo llamado .env en la raíz del directorio del SDK. Agrega una línea a ese archivo: LOOKER_EMBED_SECRET="YourLookerSecret"

Proporciona la dirección del host de tu instancia de Looker al servidor de la siguiente manera:

  • Configúralo como LOOKER_EMBED_HOST en tu entorno de shell.
  • Agregando LOOKER_EMBED_HOST="yourinstance.looker.com:yourport" al archivo .env.

Edita el archivo demo/demo_config.ts a fin de que sea adecuado para las páginas que deseas incorporar.

// The address of your Looker instance. Required.
export const lookerHost = 'self-signed.looker.com:9999'

// A dashboard that the user can see. Set to 0 to disable dashboard.
export const dashboardId = 1
// A Look that the user can see. Set to 0 to disable look.
export const lookId = 1

Edita el archivo demo/demo_user.json a fin de que sea adecuado para el tipo de usuario que deseas incorporar.

{
  // External embed user ID. IDs are not shared with regular users. Required
  "external_user_id": "user1",
  // First and last name. Optional
  "first_name": "Pat",
  "last_name": "Embed",
  // Duration before session expires, in seconds. Required.
  "session_length": 3600,
  // Enforce logging in with these permissions. Recommended.
  "force_logout_login": true,
  // External embed group ID. Optional.
  "external_group_id": "group1",
  // Looker Group IDs. Optional
  "group_ids": [],
  // Permissions. See documentation for details. Required.
  // Can any combination of:
  //   access_data
  //   see_looks
  //   see_user_dashboards
  //   see_lookml_dashboards
  //   explore
  //   create_table_calculations
  //   download_with_limit
  //   download_without_limit
  //   see_drill_overlay
  //   see_sql
  //   save_content
  //   embed_browse_spaces
  //   schedule_look_emails
  //   send_to_sftp
  //   send_to_s3
  //   send_outgoing_webhook
  //   schedule_external_look_emails
  "permissions": [
    "access_data",
    "see_looks",
    "see_user_dashboards",
    "explore"
    "save_content",
    "embed_browse_spaces"
  ],
  // Model access permissions. Required.
  "models": ["powered_by", "thelook"],
  // User attributes. Optional.
  "user_attributes": { "locale": "en_US" },
}

Paso 3: Compila y ejecuta la demostración

Servidor de nodos

  1. Ejecución npm install
  2. Ejecución npm start

El servidor imprimirá en qué host y puerto se está ejecutando. Si es diferente de http://localhost:8080, deberás agregarlo a tu Lista de dominios permitidos incorporados.

Servidor Python

  1. Ejecución npm install
  2. Ejecución npm run python

El servidor imprimirá en qué host y puerto se está ejecutando.

Es posible que debas pip install six para instalar la capa de compatibilidad de Python 2/3.