Pode ser difícil resolver problemas de erros de autenticação quando usa a incorporação assinada para o seu conteúdo do Looker. Existem várias abordagens diferentes que pode adotar para tentar diagnosticar problemas. Escolhe uma abordagem com base no local para onde os seus redirecionamentos estão a enviar os utilizadores. As sugestões nesta página partem do princípio de que está a gerar o URL incorporado assinado através de um script semelhante aos do repositório do GitHub de exemplos de incorporação do Looker, salvo indicação em contrário.
Coisas gerais a experimentar primeiro
Antes de começar a incorporar, certifique-se de que o seu segredo de incorporação foi gerado no painel de administração e que o conteúdo incorporado está funcional no modo de produção e não apenas no modo de desenvolvimento.
Se tiver autorizações de administrador, use o comando sudo como o utilizador de incorporação para verificar se o seu conteúdo está funcional. Se receber o erro Oops, we can't find that page
, o problema está provavelmente relacionado com as autorizações ou o acesso ao conteúdo e não com um problema de autenticação. Se o utilizador incorporado não for apresentado na página Utilizadores do painel Administração do Looker, significa que o utilizador não foi criado e o URL de incorporação está a falhar. Pode tentar resolver o problema através de algumas das sugestões e recursos indicados nesta página.
Se a sua instância for autoalojada, certifique-se de que o servidor cliente consegue alcançar o servidor do Looker e, se os dados entre o cliente e o servidor forem transmitidos através da Internet pública, certifique-se de que está a ser usado o SSL (HTTPS).
O resto desta página descreve os erros e outros problemas que pode encontrar, juntamente com os passos para os resolver.
Estou a ser redirecionado para uma página de início de sessão ou para uma página "Falha no início de sessão único"
Se estiver a ser redirecionado para a página de início de sessão ou para uma página com o erro Single sign on failure. Please contact an adinistrator.
, isto indica normalmente que a autenticação de incorporação assinada não está a funcionar corretamente.
Primeiro, gere um novo URL incorporado assinado e teste-o no validador de URI incorporado na página Incorporar do painel de administração do Looker. Por vezes, o validador de URI incorporado pode revelar informações valiosas sobre o motivo pelo qual ocorre um erro.
O validador de URI incorporado está a ser apresentado conforme esperado?
Se estiver na página Incorporar do painel Administrador do Looker e o validador de URI de incorporação não aparecer na página, isto sugere que a incorporação assinada ainda não foi ativada. Tem de ativar a incorporação assinada.
Estou a receber o erro 'signature param' failed to authenticate
Se vir este erro, a assinatura gerada pelo seu script não está a funcionar como esperado. Consulte as secções seguintes para ver possíveis soluções:
Os segredos de incorporação correspondem?
O segredo de incorporação na sua instância do Looker deve ser idêntico ao segredo de incorporação assinado no seu script de geração de URL de incorporação assinado. Se não tiver a certeza de que isto é verdade, selecione Repor segredo para gerar um novo segredo e adicioná-lo ao seu script. A reposição da chave vai danificar todas as incorporações que usaram a chave anterior.
Experimente usar o ponto finalCreate Signed Embed Url
para criar o URL incorporado, especificando o segredo no seu script para osecret_id
no corpo da chamada. A resposta indica se o segredo que está a usar é inválido.
A string de assinatura está na ordem correta?
Os parâmetros de incorporação na string de assinatura têm de estar na ordem adequada no script de geração de URL. A ordem adequada está documentada na página de documentação Incorporação assinada.
A string de assinatura, quando impressa, deve ter um aspeto semelhante ao seguinte antes de ser codificada:
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"} {}
Depois de assinar a string de assinatura com o seu segredo incorporado, certifique-se de que os parâmetros no URL final correspondem aos parâmetros especificados na string de assinatura. Certifique-se de que os carateres especiais, como +
e /
, estão codificados nos parâmetros do URL (por exemplo, o +
pode ser interpretado como um espaço se não estiver codificado corretamente) e de que não existem quebras de linha no URL incorporado assinado, que podem ser ignoradas após a codificação.
Compare o seu script com os nossos exemplos de scripts para verificar se o seu script passa por todos os passos adequados e se a assinatura está a usar a encriptação adequada.
Estou a receber o erro This request includes invalid params: ["embed_domain"]
Antes de começar a resolver este erro, tenha em atenção que o parâmetro embed_domain
só é necessário se o seu script estiver a usar ouvintes de eventos JavaScript, o que normalmente não é um requisito para uma implementação incorporada assinada básica. Se a sua aplicação não precisar de ouvir eventos JavaScript, a opção mais simples é eliminar completamente o parâmetro embed_domain
.
Se precisar de usar eventos JavaScript na sua aplicação incorporada, verifique o script de geração de URLs para ver onde o parâmetro embed_domain
está a ser adicionado. Normalmente, o erro significa que o parâmetro embed_domain
foi colocado acidentalmente como um parâmetro de incorporação assinado em vez de diretamente no embed_url
. O script não formata o parâmetro embed_domain
corretamente, a menos que faça efetivamente parte do embed_url
, e deve ser adicionado após o URL de incorporação e antes de quaisquer parâmetros.
Veja o aspeto que deve ter quando o parâmetro embed_domain
é especificado corretamente no seu script:
embed_url: "/embed/dashboards/3?embed_domain=https://company.com"
Se estiver a usar o ponto finalCreate Signed Embed Url
, o parâmetroembed_domain
deve ser colocado no final detarget_url
.
Estou a receber o erro 'nonce' param already used this hour
O valor do parâmetro nonce
não pode ser repetido na mesma hora e tem de ter menos de 255 carateres. Por conseguinte, vê este erro se estiver a testar um URL ao qual já acedeu. Certifique-se de que está a gerar um novo URL de incorporação que ainda não foi carregado no seu navegador e que o nonce está a mudar e não a ser reutilizado.
Estou a ser redirecionado para um erro Uh-Oh, Something went wrong
Se estiver a ver este erro, contacte o apoio técnico do Looker para ajudar a diagnosticar o problema.
Estou a ser redirecionado para uma página com a mensagem de erro 401 You are not authenticated to view this page.
Se tiver experimentado todos os passos de resolução de problemas aplicáveis e o problema 401 persistir, é provável que o seu navegador esteja a bloquear cookies de terceiros. A maioria dos navegadores está a tornar-se mais restritiva e vai usar por predefinição uma política de cookies que bloqueia estes cookies. Por exemplo, a definição Impedir monitorização entre sites do Safari está ativada por predefinição, tal como a definição Bloquear cookies de terceiros na navegação anónima do Chrome.
Se a sua aplicação estiver a incorporar conteúdo do Looker e o nome do domínio da sua instância do Looker terminar em company.looker.com
, o navegador não autentica o iFrame incorporado em vários domínios, a menos que as definições de privacidade de cookies do navegador sejam modificadas.
Instâncias alojadas no Looker
Os administradores alojados no Looker que não pretendam que os respetivos utilizadores ativem manualmente os cookies de terceiros nos respetivos navegadores têm de alterar o nome do domínio da instância alojada no Looker. Por exemplo, as instâncias alojadas no Looker têm normalmente o formato https://<hostname>.<subdomain>.<domain>.com
. Se o nome do domínio do Looker for alterado, o Looker deixa de ser considerado um domínio de terceiros. Consulte o artigo O que acontece se o URL da minha instância do Looker mudar? Página de práticas recomendadas para mais informações.
Se tiver interesse em adicionar um domínio personalizado para a sua instância do Looker, contacte o apoio técnico do Looker para configurar a configuração de DNS necessária.
Instâncias autoalojadas
Se estiver a alojar a sua instância do Looker, certifique-se de que a sua aplicação que usa a incorporação assinada está no mesmo domínio base que a sua instância do Looker, alterando as entradas DNS da sua instância do Looker.
O Chrome também requer que qualquer cookie de sessão com a flag samesite=none
especifique também secure
. O Looker não envia um sinal secure
se a sua instância do Looker não tiver um --ssl-provided-externally-by=<s>
indicador de arranque. Por isso, certifique-se de que este indicador de arranque está configurado.
Continuo a ter problemas. O que devo fazer?
Se continuar a ter problemas depois de experimentar as sugestões nesta página, contacte o seu contacto do Looker ou visite o apoio técnico do Looker para abrir um pedido.