Cómo solucionar problemas de autenticación de incorporación firmada

Puede ser difícil solucionar los errores de autenticación cuando usas incorporaciones firmadas para tu contenido de Looker. Hay algunos enfoques diferentes que puedes tomar para intentar diagnosticar los problemas, y elegirás un enfoque según el lugar al que los redireccionamientos dirijan a los usuarios. En las sugerencias de esta página, se supone que generas tu URL de incorporación firmada con una secuencia de comandos similar a las que se encuentran en el repositorio de GitHub de ejemplos de incorporación de Looker, a menos que se indique lo contrario.

Primero, hay acciones generales que puedes probar

Antes de comenzar a incorporar contenido, asegúrate de que se haya generado tu secreto de incorporación en el panel Administrador y de que el contenido incorporado funcione en el modo de producción, no solo en el modo de desarrollo.

Si tienes permisos de administrador, usa sudo como usuario incorporado para comprobar que tu contenido funcione. Si recibes el error Oops, we can't find that page, es probable que el problema esté relacionado con los permisos o el acceso al contenido y no esté relacionado con un problema de autenticación. Si el usuario incorporado no aparece en la página Usuarios del panel de administración de Looker, significa que el usuario no se creó y la URL de incorporación falla. Puedes intentar solucionar el problema con algunas de las sugerencias y los recursos que se indican en esta página.

Si tu instancia es autohospedada, asegúrate de que el servidor cliente pueda conectarse al servidor de Looker y, si los datos entre el cliente y el servidor se transmiten a través de Internet pública, asegúrate de que se use SSL (HTTPS).

En el resto de esta página, se describen errores y otros problemas que puedes encontrar, junto con los pasos para resolverlos.

Se me redirecciona a una página de acceso o a una página de “Error de inicio de sesión único”

Si se te redirecciona a la página de acceso o a una página con el error Single sign on failure. Please contact an adinistrator., esto suele indicar que la autenticación de incorporación firmada no funciona correctamente.

Primero, genera una nueva URL de incorporación firmada y pruébala en el Validador de URI de incorporación en la página Incorporación del panel Administrador de Looker. A veces, el validador de URI de incorporación puede revelar información valiosa sobre por qué encuentras un error.

¿El validador de URI de incorporación aparece como se esperaba?

Si estás en la página Embed del panel Admin de Looker y el validador de URI de incorporación no aparece en la página, esto sugiere que la incorporación firmada aún no está habilitada. Deberás habilitar la incorporación firmada.

Recibo el error 'signature param' failed to authenticate

Si ves este error, significa que la firma que generó la secuencia de comandos no funciona como se espera. Consulta las siguientes secciones para obtener posibles soluciones:

¿Coinciden los secretos de incorporación?

El secreto de incorporación en tu instancia de Looker debe ser idéntico al secreto de incorporación firmado de la secuencia de comandos de generación de la URL de incorporación firmada. Si no sabes si esto es así, selecciona Restablecer secreto para generar un secreto nuevo y agregarlo a tu secuencia de comandos. Si restableces la clave, se romperán los elementos incorporados que usaron la clave anterior.

Intenta usar el extremo Create Signed Embed Url para crear tu URL de incorporación y especifica el secreto en tu secuencia de comandos para el secret_id en el cuerpo de la llamada. La respuesta te indicará si el secreto que usas no es válido.

¿La cadena de firma está en el orden correcto?

Los parámetros de incorporación en la cadena de firma deben estar en el orden adecuado en la secuencia de comandos de generación de URL. El orden adecuado se documenta en la página de documentación de Incorporación firmada.

La cadena de firma, cuando se imprime, debería ser similar a la siguiente antes de que se codifique:

  company_name.looker.com
  /login/embed/embed%2Fdashboards%2F123
  "ac786cbc06162b1edde3a8b35920a93e"
  15852443573600
  "test_external_user_id"
  ["access_data","see_user_dashboards"]
  ["test_model"]
  []
  "test group space"
  {"test_user_attribute":"yes"}
  {}

Después de firmar la cadena de firma con tu secreto de incorporación, asegúrate de que los parámetros de la URL final coincidan con los parámetros especificados en la cadena de firma. Asegúrate de que los caracteres especiales, como + y /, estén codificados en los parámetros de URL (por ejemplo, + podría interpretarse como un espacio si no está codificado correctamente) y de que no haya saltos de línea en la URL incorporada firmada, que podrían perderse después de la codificación.

Compara tu secuencia de comandos con nuestros ejemplos de secuencias de comandos para verificar si realiza todos los pasos correctos y si la firma usa la encriptación adecuada.

Recibo el error This request includes invalid params: ["embed_domain"]

Antes de empezar a solucionar este error, ten en cuenta que el parámetro embed_domain solo es necesario si tu secuencia de comandos usa objetos de escucha de eventos de JavaScript, lo cual generalmente no es un requisito para una implementación básica de incorporación firmada. Si tu aplicación no necesita escuchar eventos de JavaScript, la opción más simple es deshacerse del parámetro embed_domain por completo.

Si necesitas usar eventos de JavaScript en tu aplicación incorporada, verifica la secuencia de comandos de generación de URL para ver dónde se agrega el parámetro embed_domain. Por lo general, el error significa que el parámetro embed_domain se colocó por accidente como parámetro de incorporación firmado en lugar de hacerlo directamente en embed_url. La secuencia de comandos no formateará el parámetro embed_domain correctamente, a menos que sea parte de embed_url, y se debe agregar después de la URL de incorporación y antes de cualquier parámetro.

A continuación, se muestra cómo debería verse cuando el parámetro embed_domain se especifica de forma correcta en la secuencia de comandos:

  embed_url: "/embed/dashboards/3?embed_domain=https://company.com"
Si usas el extremo Create Signed Embed Url, el parámetro embed_domain se debe colocar al final de target_url.

Recibo el error 'nonce' param already used this hour

El valor del parámetro nonce no debe repetirse en la misma hora y debe tener menos de 255 caracteres. Por lo tanto, verás este error si estás probando una URL a la que ya se accedió. Asegúrate de generar una URL de incorporación nueva que aún no se haya cargado en tu navegador y de que el nonce cambie y no se vuelva a usar.

Me redirigen a un error Uh-Oh, Something went wrong

Si ves este error, comunícate con el equipo de asistencia de Looker para que te ayude a diagnosticar el problema.

Se me está redireccionando a una página con el mensaje de error 401 You are not authenticated to view this page.

Si probaste todos los pasos correspondientes para solucionar problemas y el error 401 persiste, es probable que tu navegador esté bloqueando las cookies de terceros. La mayoría de los navegadores son cada vez más restrictivos y utilizan de forma predeterminada una política de cookies que bloquea estas cookies. Por ejemplo, la configuración de Prevenir el seguimiento entre sitios de Safari está habilitada de forma predeterminada, al igual que la configuración de Bloquear cookies de terceros en Incógnito de Chrome.

Si tu aplicación incorpora contenido de Looker y el nombre de dominio de tu instancia de Looker termina en company.looker.com, el navegador no autenticará el iframe incorporado en todos los dominios, a menos que se modifique la configuración de privacidad de cookies del navegador.

Instancias alojadas en Looker

Los administradores alojados en Looker que no quieran que sus usuarios habiliten manualmente las cookies de terceros en sus navegadores deberán cambiar el nombre de dominio de la instancia alojada en Looker. Como ejemplo, las instancias alojadas en Looker suelen tener el formato https://<hostname>.<subdomain>.<domain>.com. Si se cambia el nombre de dominio de Looker, este ya no se considerará un dominio de terceros. Consulta ¿Qué sucede si cambia la URL de mi instancia de Looker? la página Prácticas recomendadas para obtener más información.

Si te interesa agregar un dominio personalizado para tu instancia de Looker, comunícate con el equipo de asistencia de Looker para establecer la configuración de DNS necesaria.

Instancias autoalojadas

Si alojas tu instancia de Looker por tu cuenta, asegúrate de que la aplicación que usa la incorporación firmada esté en el mismo dominio base que tu instancia de Looker. Para ello, cambia las entradas de DNS de tu instancia de Looker.

Chrome también requiere que cualquier cookie de sesión con la marca samesite=none también especifique secure. Looker no indicará secure si tu instancia de Looker no tiene una marca de inicio --ssl-provided-externally-by=<s> , así que asegúrate de que esta marca de inicio esté configurada.

Aún tengo problemas. ¿Qué debo hacer?

Si sigues teniendo problemas después de probar las sugerencias de esta página, comunícate con tu contacto de Looker o visita el equipo de asistencia de Looker para abrir un ticket.