SDK de incorporación en comparación con el extremo Create Signed Embed Url

Looker es excelente 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 tener que pedirle a un analista que cree un panel de forma manual. Con Looker, tus usuarios incluso pueden realizar sus propios análisis. Una forma de hacerlo es usar la función de inclusión firmada de Looker. En esta página, se analizan dos métodos diferentes para implementar la incorporación firmada, la API de Looker y el kit de desarrollo de software (SDK) de incorporación de Looker.

Supongamos que deseas integrar los resultados de las consultas en la aplicación o los sistemas internos de tu empresa y no quieres tener que proporcionarles credenciales de Looker a todos tus usuarios. Esto se puede lograr con la función de incorporación firmada de Looker. Esto es diferente de la referencia general a los flujos de trabajo de SSO, como LDAP o SAML, que también se pueden integrar en tu instancia de Looker.

El término firmado en inserción firmada significa que, una vez que se crea la URL de incorporación y se envía la solicitud desde el navegador, se inicia la sesión de Looker del usuario y este accede a su cuenta. Estas URLs están firmadas y se pueden usar solo una vez. Estas URLs crean iframes que permiten a los desarrolladores incorporar contenido, como exploraciones, looks y paneles, en el sitio web o la aplicación de tu empresa. Cuando se use la URL, si el usuario no tiene una cuenta existente, se le creará una según los parámetros que se pasen a la URL.

Los desarrolladores pueden aprovechar la API de Looker o los SDK de la API de Looker para crear estos iframes de forma dinámica. Puedes aplicar temas y personalizar el contenido para que se adapte a las necesidades de tu empresa o de un grupo específico de usuarios. Para obtener más información sobre el potencial de incorporar Looker en tu contenido, consulta esta demo completa con una explicación de cómo se pueden aplicar estos conceptos.

Entonces, ¿cómo empiezo?

Supongamos que miraste la demostración y quieres explorar la posibilidad de agregar estos iframes a tu aplicación. ¿Por dónde deberías empezar y qué método es adecuado para tu caso de uso?

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

Por lo general, recomendamos el SDK de incorporación y el extremo de la API de REST a los clientes en lugar de las secuencias de comandos de ejemplo, ya que nuestros desarrolladores actualizan con frecuencia el SDK y la API de REST, y suelen crear URLs más cortas en comparación con las secuencias de comandos. (Las URLs más cortas son un poco más fáciles de administrar). También hay algunas funciones de seguridad útiles que ofrecen el SDK de Embed y el extremo de la API de REST, que se analizan más adelante en esta página.

Supongamos que queremos que el usuario de nuestra app pueda ver un panel de Looker en una página de datos de una aplicación de cliente. Un flujo de trabajo de incorporación común podría verse de la siguiente manera:

  1. El usuario accede a una aplicación. Pueden usar un servicio de SAML o solo un correo electrónico y una contraseña para acceder a la app.
  2. La aplicación confirma que las credenciales son correctas y el usuario puede acceder correctamente al contenido.
  3. Según la respuesta del flujo de trabajo de acceso, la información del usuario se pasa a una función que puede usar una de nuestras secuencias de comandos de ejemplo para crear la URL de incorporación firmada. Estas secuencias de comandos requieren los permisos del usuario, los IDs de grupo, el secreto de incorporación, la URL del host, los atributos del usuario, como el nombre y apellido, los filtros de acceso, la duración de la sesión y la URL a la que queremos que el usuario pueda acceder. Toda esta información se envía a Looker y se crea una URL firmada.
  4. El usuario navega a la página de datos en la aplicación, donde esta URL firmada se coloca en un iframe. Luego, el navegador envía una solicitud a la URL del iframe. El panel se propaga con una experiencia personalizada, y el usuario puede acceder a los datos de Looker desde la aplicación.

El extremo de Create Signed Embed Url

Con la API de REST de Looker o uno de los SDKs, un desarrollador puede generar una URL firmada y codificada que se basa en un conjunto de parámetros. Esta es una solicitud POST. El servidor desde el que se origina la solicitud a la API debe poder autenticarse en Looker con permisos de administrador. Uno de los principales beneficios de usar este extremo es que no se requiere un secreto incorporado para usarlo; el extremo ya está configurado para recuperar el secreto incorporado actual. Las llamadas a este extremo tampoco se descuentan de las limitaciones de frecuencia de la API. En general, las credenciales de la API son más fáciles de rotar en comparación con un secreto incorporado. Se pueden activar varias credenciales de la API 3 al mismo tiempo, pero solo se puede usar un secreto de incorporación a la vez en una instancia. Esto facilita el cambio de las credenciales sin interrumpir el servicio. El extremo 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 secuencias de comandos de URL de incorporación firmadas.

Este es un ejemplo de flujo de trabajo que usa el extremo Create Signed Embed Url:

  1. El usuario intenta acceder a tu aplicación, por lo general, con una combinación de nombre de usuario y contraseña, o posiblemente a través de un proveedor de identidad (IdP).
  2. Si accede correctamente a la aplicación, se ejecuta el extremo Create Signed Embed Url. Una función creada por tu equipo de desarrollo pasa las credenciales específicas de ese usuario a este extremo, y se muestra una URL firmada de Looker a tu servidor.
  3. Es posible que el usuario tenga la opción de hacer clic en una pestaña de datos en la aplicación. Cuando navegan 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 Looker incorporado sin problemas en tu aplicación con datos en vivo.

Cómo incorporar el SDK

El SDK de incorporación de Looker es una colección de funciones de JavaScript empaquetadas para que los desarrolladores puedan incorporar contenido de Looker con mayor facilidad. El SDK de incorporación te permite agregar contenido de Looker a una página de tu aplicación o 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 incorporación ahora encapsula el iframe, lo que significa que los clientes no tendrán que crearlo ni administrarlo. El SDK de incorporación es solo para apps de navegador, pero incluye una función de utilidad auxiliar para generar la URL firmada. Ambos están disponibles en TypeScript y Python. Aunque el SDK de incorporación se incluye en el registro nmpjs, no es necesario que uses un servidor web de Node.js.

Una característica única del SDK de incorporación 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.

Otro beneficio del SDK de incorporación es la cantidad de funciones precompiladas que quitan mucho trabajo a tu equipo de desarrollo. Uno de los ejemplos principales es cancelar clics. El SDK de Embed usa la API de 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 de postMessage. Esto permite que otras funciones se comuniquen con el iframe o que otras funciones se comuniquen con el iframe.

Un flujo de trabajo de ejemplo para el SDK de Embed podría verse así:

  1. El usuario intenta acceder a tu aplicación.
  2. Si el acceso se realiza correctamente, su información se envía a la utilidad de ayuda Node.js en el servidor que ejecuta la aplicación. Esto pasa la información requerida a la instancia de Looker y se muestra una URL firmada.
  3. El usuario navega a la página de datos en la aplicación donde se usa el SDK de incorporación para colocar el iframe. Dado que el SDK de incorporación está escrito en JavaScript, podemos usar LookerEmbedSDK.createDashboardWithId y segmentar un elemento DOM específico (por lo general, un span o div) en la página para agregar el iframe (URL firmada).
  4. Se carga la página y la URL firmada carga el panel desde la instancia de Looker.

Entonces, ¿cuál es el mejor método?

El método que use tu equipo de desarrollo dependerá de tu caso de uso específico:

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

Como se muestra en el diagrama anterior, tanto el método de extremo Create Signed Embed Url como el método de SDK incorporado que se describieron anteriormente permiten que tu equipo de desarrollo se enfoque en el producto en lugar de cómo se integra Looker en la app. Ambos métodos también permiten experiencias de datos enriquecidas en tu aplicación nativa.

El método del extremo Create Signed Embed Url difiere del método del SDK de incorporación de las siguientes maneras:

  • No requiere un secreto incorporado.
  • El proceso es similar al uso de otras APIs de REST.
  • Se debe llamar al extremo del servidor.

El método de incorporación del SDK tiene las siguientes funciones:

  • Se basa en JavaScript y puede segmentarse para elementos DOM específicos.
  • Interacciona con los componentes de Looker para ayudar a aplicar diseño a la IU.
  • Se integra con funciones de utilidad auxiliares, y el desarrollo se puede realizar del lado del cliente.

Si tienes preguntas específicas sobre los requisitos de desarrollo o arquitectura, puedes comunicarte con el equipo de servicios profesionales de Looker o con uno de nuestros socios de desarrollo.

Además, nuestro equipo de asistencia al cliente puede ayudarte a resolver cualquier problema de alto nivel o comportamiento inesperado. Para abrir una solicitud de asistencia en el Centro de ayuda de Looker, haz clic en Comunícate con nosotros.

Consulta la publicación de la comunidad Herramientas de incorporación firmadas y recursos para solucionar problemas para obtener recursos adicionales.