Pode ser difícil resolver erros de autenticação ao usar a incorporação assinada para seu conteúdo do Looker. Existem algumas abordagens diferentes que você pode usar para tentar diagnosticar problemas, e você vai escolher uma com base em para onde seus redirecionamentos estão enviando os usuários. As dicas desta página pressupõem que você está gerando o URL de incorporação assinado usando um script semelhante aos do repositório de exemplos de incorporação do GitHub do Looker, a menos que seja indicado o contrário.
Coisas gerais para tentar primeiro
Antes de começar a incorporação, verifique se o secreto de incorporação foi gerado no painel Administrador e se o conteúdo incorporado está funcional no modo de produção, não apenas no modo de desenvolvimento.
Se você tiver permissões de administrador, sudo como o usuário de incorporação para verificar se o conteúdo está funcional. Se você receber o erro Oops, we can't find that page
, o problema provavelmente está relacionado a permissões ou acesso ao conteúdo e não a um problema de autenticação. Se o usuário de incorporação não aparecer na página Usuários do painel Administrador do Looker, significa que o usuário não foi criado e o URL de incorporação está com falha. Tente resolver o problema usando algumas das sugestões e recursos listados nesta página.
Se a instância for auto-hospedada, verifique se o servidor cliente pode acessar o servidor do Looker. Se os dados entre o cliente e o servidor forem transmitidos pela Internet pública, verifique se o SSL (HTTPS) está sendo usado.
No restante desta página, descrevemos erros e outros problemas que você pode encontrar, além de etapas para resolvê-los.
Estou sendo redirecionado para uma página de login ou uma página de "Falha de logon único"
Se você for redirecionado para a página de login ou para uma página com o erro Single sign on failure. Please contact an adinistrator.
, isso geralmente indica que a autenticação de incorporação assinada não está funcionando corretamente.
Primeiro, gere um novo URL de incorporação assinado e teste-o no Validador de URI de incorporação na página Incorporação do painel Administrador do Looker. Às vezes, o validador de URIs de incorporação pode revelar informações valiosas sobre por que você encontrou um erro.
O validador de URIs incorporados aparece como esperado?
Se você estiver na página Incorporar do painel Administrador do Looker e o validador de URI de incorporação não aparecer na página, isso sugere que a incorporação assinada ainda não foi ativada. É necessário ativar a incorporação assinada.
Estou recebendo o erro 'signature param' failed to authenticate
Se esse erro aparecer, a assinatura gerada pelo script não está funcionando como esperado. Consulte as seções a seguir para possíveis soluções:
Os segredos de incorporação são iguais?
O secreto de incorporação na sua instância do Looker precisa ser idêntico ao segredo de incorporação assinado no script de geração de URL de incorporação assinado. Se você não tiver certeza, selecione Redefinir chave secreta para gerar uma nova e adicioná-la ao script. Redefinir a chave vai interromper todas as incorporações que usaram a chave anterior.
Tente usar o endpointCreate Signed Embed Url
para criar o URL de incorporação, especificando o segredo no script para osecret_id
no corpo da chamada. A resposta vai informar se o secret que você está usando é inválido.
A string de assinatura está na ordem correta?
Os parâmetros de incorporação na string de assinatura precisam estar na ordem correta no script de geração de URL. A ordem correta está documentada na página de documentação Inserção assinada.
A string de assinatura, quando impressa, deve ficar assim 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 seu segredo de incorporação, verifique se os parâmetros no URL final correspondem aos parâmetros especificados na string de assinatura. Confira se caracteres especiais, como +
e /
, estão codificados nos parâmetros do URL. Por exemplo, o +
pode ser interpretado como um espaço se não for codificado corretamente. Além disso, não pode haver quebras de linha no URL de incorporação assinado, que pode ser perdido após a codificação.
Compare seu script com nossos exemplos de script para verificar se ele segue todas as etapas adequadas e se a assinatura está usando a criptografia correta.
Estou recebendo o erro This request includes invalid params: ["embed_domain"]
Antes de começar a resolver esse erro, observe que o parâmetro embed_domain
é necessário apenas se o script estiver usando listeners de eventos JavaScript, o que geralmente não é um requisito para uma implementação de incorporação assinada básica. Se o app não precisar detectar eventos JavaScript, a opção mais simples é se livrar completamente do parâmetro embed_domain
.
Se você precisar usar eventos JavaScript no seu aplicativo incorporado, verifique o script de geração de URL para saber onde o parâmetro embed_domain
está sendo adicionado. O erro geralmente 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 formatará o parâmetro embed_domain
corretamente, a menos que ele faça parte do embed_url
, e ele precisa ser adicionado após o URL de incorporação e antes de qualquer parâmetro.
Confira como fica quando o parâmetro embed_domain
é especificado corretamente no script:
embed_url: "/embed/dashboards/3?embed_domain=https://company.com"
Se você estiver usando o endpointCreate Signed Embed Url
, o parâmetroembed_domain
precisa ser colocado no final dotarget_url
.
Estou recebendo o erro 'nonce' param already used this hour
O valor do parâmetro nonce
não pode ser repetido na mesma hora e precisa ter menos de 255 caracteres. Portanto, esse erro vai aparecer se você estiver testando um URL que já foi acessado. Verifique se você está gerando um novo URL de incorporação que ainda não foi carregado no navegador e se o valor de uso único está mudando e não sendo reutilizado.
Estou recebendo um erro Uh-Oh, Something went wrong
Se esse erro aparecer, entre em contato com o suporte do Looker para receber ajuda.
Estou sendo redirecionado para uma página com a mensagem de erro 401 You are not authenticated to view this page.
Se você já tentou todas as etapas de solução de problemas aplicáveis e o problema 401 persiste, provavelmente seu navegador está bloqueando cookies de terceiros. A maioria dos navegadores está se tornando mais restritiva e vai adotar por padrão uma política de cookies que bloqueia esses cookies. Por exemplo, a configuração Impedir rastreamento entre sites do Safari é ativada por padrão, assim como a configuração Bloquear cookies de terceiros na navegação anônima do Chrome.
Se o aplicativo estiver incorporando conteúdo do Looker e o nome de domínio da instância do Looker terminar em company.looker.com
, o navegador não vai autenticar o iframe incorporado em vários domínios, a menos que as configurações de privacidade de cookies do navegador sejam modificadas.
Instâncias hospedadas pelo Looker
Os administradores hospedados no Looker que não querem que os usuários ativem manualmente os cookies de terceiros nos navegadores precisam mudar o nome de domínio da instância hospedada no Looker. Por exemplo, as instâncias hospedadas pelo Looker geralmente têm o formato https://<hostname>.<subdomain>.<domain>.com
. Se o nome de domínio do Looker for alterado, ele não será mais considerado um domínio de terceiros. Consulte O que acontece se o URL mudar para minha instância do Looker? Para mais informações, acesse a página de práticas recomendadas.
Se você quiser adicionar um domínio personalizado à sua instância do Looker, entre em contato com o suporte do Looker para configurar o DNS necessário.
Instâncias auto-hospedadas
Se você estiver hospedando sua instância do Looker, verifique se o aplicativo que usa a incorporação assinada está no mesmo domínio de base da instância do Looker, alterando as entradas de DNS da instância do Looker.
O Chrome também exige que qualquer cookie de sessão com a flag samesite=none
especifique secure
. O Looker não vai sinalizar secure
se a instância do Looker não tiver uma --ssl-provided-externally-by=<s>
flag de inicialização. Verifique se essa flag de inicialização está configurada.
Ainda estou com problemas. O que devo fazer agora?
Se você ainda tiver problemas depois de tentar as sugestões desta página, entre em contato com seu contato do Looker ou acesse o Suporte do Looker para abrir um tíquete.