Puede ser difícil solucionar problemas de autenticación cuando se usa la opción de inserción firmada para el contenido de Looker. Hay varias formas de diagnosticar los problemas. Elige la que más te convenga en función de dónde se redirija a los usuarios. En los consejos de esta página se da por hecho que generas tu URL de inserción firmado mediante una secuencia de comandos similar a las que se incluyen en el repositorio de GitHub de ejemplos de inserción de Looker, a menos que se indique lo contrario.
Cosas generales que puedes probar primero
Antes de empezar a insertar contenido, asegúrate de que se haya generado tu secreto de inserción en el panel Administrar y de que el contenido insertado funcione en el modo Producción, no solo en el modo Desarrollo.
Si tienes permisos de administrador, usa sudo como usuario insertado para comprobar que tu contenido funciona. Si aparece el error Oops, we can't find that page
, lo más probable es que el problema esté relacionado con los permisos o el acceso al contenido, y no con la autenticación. Si el usuario insertado no aparece en la página Usuarios del panel Administrar de Looker, significa que no se ha creado y que la URL de inserción no funciona. Puedes intentar solucionar el problema con algunas de las sugerencias y los recursos que se indican en esta página.
Si tu instancia está autohospedada, asegúrate de que el servidor cliente pueda acceder al servidor de Looker y, si los datos entre el cliente y el servidor se transmiten a través de Internet público, asegúrate de que se esté usando SSL (HTTPS).
En el resto de esta página se describen los errores y otros problemas que puedes encontrar, así como los pasos para solucionarlos.
Se me redirige a una página de inicio de sesión o a una página de error de inicio de sesión único
Si se te redirige a la página de inicio de sesión o a una página con el error Single sign on failure. Please contact an adinistrator.
, suele ser porque la autenticación de inserción firmada no funciona correctamente.
Primero, genera una URL de inserción firmada y pruébala en el validador de URIs de inserción de la página Insertar del panel Administrar de Looker. El validador de URIs de inserción puede revelar información valiosa sobre por qué se produce un error.
¿El validador de URIs de inserción se muestra correctamente?
Si estás en la página Insertar del panel Administrar de Looker y el validador de URIs de inserción no aparece en la página, significa que la inserción firmada aún no se ha habilitado. Deberás habilitar la inserción firmada.
Recibo el error 'signature param' failed to authenticate
Si ves este error, significa que la firma generada por tu secuencia de comandos no funciona correctamente. Consulta las siguientes secciones para ver posibles soluciones:
¿Coinciden los secretos de inserción?
El secreto de inserción de tu instancia de Looker debe ser idéntico al secreto de inserción firmado de tu secuencia de comandos de generación de URLs de inserción firmadas. Si no sabes si es así, selecciona Cambiar secreto para generar uno nuevo y añádelo a tu secuencia de comandos. Si restableces la clave, dejarán de funcionar las inserciones que usaran la clave anterior.
Prueba a usar el endpointCreate Signed Embed Url
para crear tu URL de inserción. Especifica el secreto en tu secuencia de comandos parasecret_id
en el cuerpo de la llamada. La respuesta te indicará si el secreto que estás usando no es válido.
¿La cadena de firma está en el orden correcto?
Los parámetros de inserción de la cadena de firma deben estar en el orden correcto en la secuencia de comandos de generación de URLs. El orden correcto se describe en la página de documentación Signed embedding (Inserción firmada).
La cadena de firma, cuando se imprime, debería tener un aspecto similar al siguiente antes de codificarse:
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 inserción, asegúrate de que los parámetros de la URL final coincidan con los parámetros especificados en la cadena de firma. Asegúrese de que los caracteres especiales, como +
y /
, estén codificados en los parámetros de la 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 insertada firmada, ya que podrían pasarse por alto después de la codificación.
Compara tu secuencia de comandos con nuestros ejemplos de secuencias de comandos para comprobar si sigue todos los pasos adecuados y si la firma usa el cifrado correcto.
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 listeners de eventos de JavaScript, lo que no suele ser un requisito para una implementación básica de inserción firmada. Si tu aplicación no necesita detectar eventos de JavaScript, la opción más sencilla es eliminar por completo el parámetro embed_domain
.
Si necesitas usar eventos de JavaScript en tu aplicación insertada, consulta la secuencia de comandos de generación de URLs para ver dónde se añade el parámetro embed_domain
. Este error suele indicar que el parámetro embed_domain
se ha colocado por error como parámetro de inserción firmado en lugar de directamente en embed_url
. La secuencia de comandos no dará el formato correcto al parámetro embed_domain
a menos que forme parte de embed_url
. Además, debe añadirse después de la URL de inserción y antes de cualquier parámetro.
Así debería aparecer el parámetro embed_domain
cuando se especifique correctamente en tu secuencia de comandos:
embed_url: "/embed/dashboards/3?embed_domain=https://company.com"
Si utilizas el endpointCreate Signed Embed Url
, el parámetroembed_domain
debe colocarse al final detarget_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 pruebas una URL a la que ya se ha accedido. Asegúrate de generar una URL de inserción nueva que aún no se haya cargado en tu navegador y de que el nonce cambie y no se reutilice.
Se me redirige a un error Uh-Oh, Something went wrong
Si aparece este error, ponte en contacto con el equipo de Asistencia de Looker para que te ayude a diagnosticar el problema.
Se me redirige a una página con el mensaje de error 401 You are not authenticated to view this page.
Si has probado todos los pasos para solucionar problemas aplicables y el problema 401 persiste, es probable que tu navegador esté bloqueando las cookies de terceros. La mayoría de los navegadores están volviéndose más restrictivos y, de forma predeterminada, aplicarán una política de cookies que las bloquee. Por ejemplo, el ajuste Evitar rastreo entre sitios de Safari está habilitado de forma predeterminada, al igual que el ajuste Bloquear cookies de terceros en Incógnito de Chrome.
Si tu aplicación está insertando contenido de Looker y el nombre de dominio de tu instancia de Looker termina en company.looker.com
, el navegador no autenticará el iframe insertado en los dominios a menos que se modifique la configuración de privacidad de las cookies del navegador.
Instancias alojadas en Looker
Los administradores de instancias alojadas en Looker que no quieran que sus usuarios habiliten manualmente las cookies de terceros en sus navegadores tendrán que cambiar el nombre de dominio de la instancia alojada en Looker. Por ejemplo, las instancias alojadas en Looker suelen tener el formato https://<hostname>.<subdomain>.<domain>.com
. Si se cambia el nombre de dominio de Looker, Looker dejará de considerarse un dominio de terceros. Consulte la sección ¿Qué ocurre si cambia la URL de mi instancia de Looker? Página de prácticas recomendadas para obtener más información.
Si te interesa añadir un dominio personalizado a tu instancia de Looker, ponte en contacto con el equipo de Asistencia de Looker para configurar el DNS necesario.
Instancias autohospedadas
Si alojas tu instancia de Looker por tu cuenta, asegúrate de que tu aplicación que usa la inserción firmada esté en el mismo dominio base que tu instancia de Looker. Para ello, cambia las entradas DNS de tu instancia de Looker.
Chrome también requiere que cualquier cookie de sesión con la marca samesite=none
especifique secure
. Looker no enviará ninguna señal secure
si tu instancia de Looker no tiene una --ssl-provided-externally-by=<s>
marca de inicio, así que asegúrate de que esté configurada.
Sigo teniendo problemas. ¿Qué hago ahora?
Si sigues teniendo problemas después de probar las sugerencias de esta página, ponte en contacto con tu contacto de Looker o visita la página de asistencia de Looker para abrir una incidencia.