SDK de inserción frente al endpoint Create Signed Embed Url

Looker es una herramienta fantástica para que todos tus usuarios o clientes puedan acceder a los datos. Como nos gusta decir, Looker ayuda a "democratizar los datos". Puedes permitir que tus usuarios vean los resultados de las consultas por su cuenta sin que un analista tenga que crear un panel de control manualmente. Con Looker, tus usuarios pueden incluso realizar sus propios análisis. Una forma de hacerlo es usar la función inserción firmada de Looker. En esta página se describen dos métodos diferentes para implementar la inserción firmada: la API de Looker y el SDK de inserción de Looker.

Supongamos que quieres integrar los resultados de las consultas en la aplicación o los sistemas internos de tu empresa y no quieres tener que proporcionar credenciales de Looker a todos tus usuarios. Esto se puede hacer con la función de inserción firmada de Looker. Esto es distinto de la referencia general a los flujos de trabajo de inicio de sesión único, como LDAP o SAML, que también se pueden integrar en tu instancia de Looker.

El elemento insertado con sesión iniciada signed embed indica que, una vez que se crea la URL de inserción y se envía la solicitud desde el navegador, la sesión de Looker del usuario se ha iniciado y el usuario ha iniciado sesión. Estas URLs están firmadas y solo se pueden usar una vez. Estas URLs crean iframes que permiten a los desarrolladores insertar contenido, como Exploraciones, Looks y paneles de control, en el sitio web o la aplicación de tu empresa. Cuando se usa la URL, si el usuario no tiene una cuenta, se creará una en función de los parámetros que se hayan incluido en la URL.

Los desarrolladores pueden usar la API de Looker o los SDKs de la API de Looker para crear estos iframes de forma dinámica. Puedes aplicar temas y personalizar el contenido para adaptarlo a las necesidades de tu empresa o de un grupo de usuarios concreto. Para ver más información sobre el potencial de insertar Looker en tu contenido, consulta esta demostración completa con una explicación de cómo se pueden aplicar estos conceptos.

¿Cómo empiezo?

Ahora supongamos que has visto la demostración y quieres añadir estos iframes a tu aplicación. ¿Por dónde deberías empezar y qué método es el adecuado para tu caso práctico?

Looker ofrece varias opciones principales para generar este contenido, que se puede colocar en tu aplicación o sitio web:

  • Los repositorios de ejemplo de Looker con secuencias de comandos escritas en varios lenguajes de programación (C#, Python, Node.js, Python, Ruby y PHP)
  • El endpoint Create Signed Embed Url incluido en nuestra API REST, a la que se puede acceder mediante solicitudes HTTP o uno de nuestros SDKs
  • El SDK de inserción de Looker

Por lo general, recomendamos a los clientes que usen el SDK Embed y el endpoint de la API REST en lugar de las secuencias de comandos de ejemplo, ya que nuestros desarrolladores actualizan con frecuencia tanto el SDK como la API REST, y suelen crear URLs más cortas que las secuencias de comandos. Las URLs más cortas son un poco más fáciles de gestionar. El SDK de inserción y el endpoint de la API REST también ofrecen algunas funciones de seguridad útiles, que se explican más adelante en esta página.

Supongamos que queremos que el usuario de nuestra aplicación pueda ver un panel de Looker en una página de datos de una aplicación de cliente. Un flujo de trabajo de inserción habitual podría ser el siguiente:

  1. El usuario inicia sesión en una aplicación. Pueden usar un servicio SAML o simplemente un correo y una contraseña para iniciar sesión en la aplicación.
  2. La aplicación confirma que las credenciales son correctas y el usuario puede acceder al contenido.
  3. En función de la respuesta del flujo de trabajo de inicio de sesión, la información del usuario se transfiere a una función que puede usar una de nuestras secuencias de comandos de ejemplo para crear la URL insertada firmada. Estas secuencias de comandos requieren los permisos del usuario, los IDs de grupo, el secreto de inserción, la URL del host, los atributos del usuario (como el nombre y los apellidos), los filtros de acceso, la duración de la sesión y la URL a la que queremos que pueda acceder el usuario. Toda esta información se envía a Looker y se crea una URL firmada.
  4. El usuario se desplaza a la página de datos de la aplicación, donde se coloca esta URL firmada en un iframe. A continuación, el navegador envía una solicitud a la URL del iframe. El panel de control se propaga con una experiencia personalizada y el usuario puede acceder a los datos de Looker en la aplicación.

El punto de conexión Create Signed Embed Url

Con la API REST de Looker o uno de los SDKs, un desarrollador puede generar una URL codificada y firmada basada en un conjunto de parámetros. Se trata de una solicitud POST. El servidor desde el que se origina la solicitud de la API debe poder autenticarse en Looker con permisos de administrador. Una de las principales ventajas de usar este endpoint es que no se necesita un secreto de inserción para usarlo, ya que el endpoint ya está configurado para recuperar el secreto de inserción actual. Las llamadas a este endpoint tampoco se tienen en cuenta para los límites de frecuencia de la API. En general, las credenciales de la API son más fáciles de rotar que un secreto de inserción. Pueden estar activas varias credenciales de la API 3 al mismo tiempo, pero solo se puede usar un secreto de inserción a la vez en una instancia. De esta forma, es más fácil cambiar las credenciales sin que se interrumpa el servicio. El endpoint Create Signed Embed Url también crea una URL más corta y concisa en comparación con las secuencias de comandos de ejemplo de nuestro repositorio de ejemplos de secuencias de comandos de URLs insertadas firmadas.

A continuación, se muestra un ejemplo de flujo de trabajo que usa el endpoint Create Signed Embed Url:

  1. El usuario intenta iniciar sesión en tu aplicación, normalmente con una combinación de nombre de usuario y contraseña o, posiblemente, a través de un proveedor de identidades.
  2. Si inician sesión correctamente en la aplicación, se ejecuta el endpoint Create Signed Embed Url. Una función creada por tu equipo de desarrollo transfiere las credenciales específicas de ese usuario a este endpoint y Looker devuelve una URL firmada a tu servidor.
  3. Es posible que el usuario tenga la opción de hacer clic en una pestaña de datos de la aplicación. Cuando acceden a la pestaña de datos, esta página solicita la URL firmada a tu servidor y la coloca en el iframe de la página.
  4. El usuario ve un panel de control de Looker insertado en tu aplicación con datos en tiempo real.

SDK de Embed

El SDK de inserción de Looker es una colección de funciones de JavaScript empaquetadas para que los desarrolladores puedan insertar contenido de Looker más fácilmente. El SDK de inserción te permite añadir contenido de Looker a una página de tu aplicación o de tu sitio web sin tener que crear elementos HTML específicos. El SDK permite a los desarrolladores crear una comunicación punto a punto segura entre la página HTML y tu contenido de Looker. El SDK de inserción ahora encapsula el iframe, lo que significa que los clientes no tendrán que crear ni gestionar el iframe. El SDK de inserción solo es para aplicaciones de navegador, pero incluye una función de utilidad para generar la URL firmada. Ambos están disponibles en TypeScript y Python. Aunque el SDK de inserción se incluye en el registro npmjs, no es necesario que uses un servidor web Node.js.

Una de las funciones únicas del SDK de Embed es que también te permite aprovechar los componentes de Looker, una colección de bloques de código reutilizables que se crearon para ayudar a implementar el sistema de diseño de Looker.

Otra ventaja del SDK Embed es el número de funciones prediseñadas que ahorran mucho trabajo a tu equipo de desarrollo. Uno de los ejemplos principales es la cancelación de clics. El SDK de inserción usa la API MessageChannel en lugar de postMessage. Esto significa que dos secuencias de comandos que se ejecutan en la misma página pueden comunicarse entre sí mediante la API postMessage. Esto permite que otras funciones se comuniquen con el iframe o que otras funciones se comuniquen con el iframe.

Un ejemplo de flujo de trabajo del SDK de Embed podría ser el siguiente:

  1. El usuario intenta iniciar sesión en tu aplicación.
  2. Si el inicio de sesión se realiza correctamente, su información se envía a la utilidad de asistencia Node.js del servidor que ejecuta la aplicación. De esta forma, se envía la información necesaria a la instancia de Looker y se devuelve una URL firmada.
  3. El usuario se desplaza a la página de datos de la aplicación en la que se usa el SDK de inserción para colocar el iframe. Como el SDK de inserción está escrito en JavaScript, podemos usar LookerEmbedSDK.createDashboardWithId y orientar a un elemento DOM específico (normalmente, un elemento span o div) de la página para añadir el iframe (URL firmado).
  4. La página se carga y la URL firmada carga el panel de control de la instancia de Looker.

Entonces, ¿qué método es el mejor?

El método que utilice tu equipo de desarrollo dependerá de tu caso práctico específico:

Diagrama de Venn que destaca las similitudes y las diferencias entre los métodos Create Signed Embed Url y Embed SDK.

Como se muestra en el diagrama anterior, tanto el método del endpoint Create Signed Embed Url como el método del SDK de inserción descrito anteriormente permiten que tu equipo de desarrollo se centre en el producto en lugar de en cómo se integra Looker con la aplicación. Ambos métodos también permiten disfrutar de experiencias de datos enriquecidas en tu aplicación nativa.

El método del endpoint Create Signed Embed Url se diferencia del método del SDK de inserción en los siguientes aspectos:

  • No requiere un secreto de inserción.
  • El proceso es similar al de otras APIs REST.
  • El endpoint debe llamarse del lado del servidor.

El método Embed SDK tiene las siguientes funciones:

  • Se basa en JavaScript y puede orientarse a elementos DOM específicos.
  • Interactúa con los componentes de Looker para ayudar a dar estilo a la interfaz de usuario.
  • Se integra con funciones de utilidad auxiliares y el desarrollo se puede realizar del lado del cliente.

Si tienes alguna pregunta específica sobre los requisitos de desarrollo o arquitectura, puedes ponerte en contacto con el equipo de Servicios Profesionales de Looker o con uno de nuestros partners de desarrollo.

Además, nuestro equipo de Asistencia puede ayudarte a resolver cualquier problema general o comportamiento inesperado. Para abrir una solicitud de asistencia en el Centro de Ayuda de Looker, haz clic en Contactar con nosotros.

Consulta la publicación de la comunidad sobre las herramientas de inserción firmada y los recursos para solucionar problemas para obtener más recursos.