Il peut être difficile de résoudre les erreurs d'authentification lorsque vous utilisez l'intégration signée pour votre contenu Looker. Vous pouvez essayer différentes approches pour diagnostiquer les problèmes. Vous choisirez une approche en fonction de l'endroit où vos redirections envoient vos utilisateurs. Les conseils de cette page supposent que vous générez votre URL d'intégration signée à l'aide d'un script semblable à ceux du dépôt GitHub d'exemples d'intégration de Looker, sauf indication contraire.
Généralités à essayer en premier
Avant de commencer l'intégration, assurez-vous que votre secret d'intégration a été généré dans le panneau Admin et que votre contenu intégré fonctionne en mode Production, et pas seulement en mode Développement.
Si vous disposez d'autorisations d'administrateur, utilisez sudo en tant qu'utilisateur d'intégration pour vérifier que votre contenu fonctionne. Si vous obtenez l'erreur Oops, we can't find that page
, le problème est probablement lié aux autorisations ou à l'accès au contenu, et non à un problème d'authentification. Si l'utilisateur intégré ne s'affiche pas sur la page Utilisateurs du panneau Admin de Looker, cela signifie qu'il n'a pas été créé et que l'URL d'intégration ne fonctionne pas. Vous pouvez essayer de résoudre le problème en suivant les suggestions et en utilisant les ressources listées sur cette page.
Si votre instance est auto-hébergée, assurez-vous que le serveur client peut accéder au serveur Looker et, si les données entre le client et le serveur sont transmises sur l'Internet public, assurez-vous que SSL (HTTPS) est utilisé.
Le reste de cette page décrit les erreurs et autres problèmes que vous pouvez rencontrer, ainsi que les étapes à suivre pour les résoudre.
Je suis redirigé vers une page de connexion ou une page "Échec de l'authentification unique"
Si vous êtes redirigé vers la page de connexion ou vers une page affichant l'erreur Single sign on failure. Please contact an adinistrator.
, cela indique généralement que l'authentification des intégrations signées ne fonctionne pas correctement.
Commencez par générer une URL d'intégration signée et testez-la dans le validateur d'URI d'intégration sur la page Intégrer du panneau Admin de Looker. Le validateur d'URI d'intégration peut parfois révéler des informations utiles sur la raison pour laquelle vous rencontrez une erreur.
Le validateur d'URI d'intégration s'affiche-t-il comme prévu ?
Si vous êtes sur la page Intégrer du panneau Admin de Looker et que le validateur d'URI d'intégration ne s'affiche pas, cela signifie que l'intégration signée n'a pas encore été activée. Vous devrez activer l'intégration signée.
J'obtiens l'erreur 'signature param' failed to authenticate
Si ce message d'erreur s'affiche, cela signifie que la signature générée par votre script ne fonctionne pas comme prévu. Reportez-vous aux sections suivantes pour connaître les solutions possibles :
Les secrets d'intégration correspondent-ils ?
Le code secret d'intégration de votre instance Looker doit être identique au code secret d'intégration signé de votre script de génération d'URL d'intégration signée. En cas de doute, sélectionnez Réinitialiser le code secret pour générer un nouveau code secret et l'ajouter à votre script. Si vous réinitialisez la clé, les intégrations qui utilisaient l'ancienne clé ne fonctionneront plus.
Essayez d'utiliser le point de terminaisonCreate Signed Embed Url
pour créer votre URL d'intégration, en spécifiant le code secret dans votre script poursecret_id
dans le corps de l'appel. La réponse vous indiquera si le secret que vous utilisez n'est pas valide.
La chaîne de signature est-elle dans le bon ordre ?
Les paramètres d'intégration de la chaîne de signature doivent être dans le bon ordre dans le script de génération d'URL. L'ordre approprié est indiqué sur la page de documentation Intégration signée.
Une fois imprimée, la chaîne de signature doit se présenter comme suit avant d'être encodée :
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"} {}
Après avoir signé la chaîne de signature avec votre secret d'intégration, assurez-vous que les paramètres de l'URL finale correspondent à ceux spécifiés dans la chaîne de signature. Assurez-vous que les caractères spéciaux tels que +
et /
sont encodés dans les paramètres d'URL (par exemple, +
peut être interprété comme un espace s'il n'est pas correctement encodé) et qu'il n'y a pas de saut de ligne dans l'URL d'intégration signée, qui pourrait être manqué après l'encodage.
Comparez votre script avec nos exemples de scripts pour vérifier qu'il suit toutes les étapes appropriées et que la signature utilise le bon chiffrement.
J'obtiens l'erreur This request includes invalid params: ["embed_domain"]
Avant de commencer à résoudre ce problème, notez que le paramètre embed_domain
n'est nécessaire que si votre script utilise des écouteurs d'événements JavaScript, ce qui n'est généralement pas requis pour une implémentation d'intégration signée de base. Si votre application n'a pas besoin d'écouter les événements JavaScript, l'option la plus simple consiste à supprimer complètement le paramètre embed_domain
.
Si vous devez utiliser des événements JavaScript dans votre application intégrée, vérifiez le script de génération d'URL pour voir où le paramètre embed_domain
est ajouté. Cette erreur signifie généralement que le paramètre embed_domain
a été placé par erreur en tant que paramètre d'intégration signé au lieu d'être directement dans embed_url
. Le script ne formatera pas correctement le paramètre embed_domain
, sauf s'il fait réellement partie de embed_url
. Il doit être ajouté après l'URL d'intégration et avant tout paramètre.
Voici à quoi cela devrait ressembler lorsque le paramètre embed_domain
est correctement spécifié dans votre script :
embed_url: "/embed/dashboards/3?embed_domain=https://company.com"
Si vous utilisez le point de terminaisonCreate Signed Embed Url
, le paramètreembed_domain
doit être placé à la fin detarget_url
.
J'obtiens l'erreur 'nonce' param already used this hour
La valeur du paramètre nonce
ne doit pas être répétée au cours de la même heure et doit comporter moins de 255 caractères. Par conséquent, cette erreur s'affiche si vous testez une URL qui a déjà été consultée. Assurez-vous de générer une URL d'intégration qui n'a pas encore été chargée dans votre navigateur, et que le nonce change et n'est pas réutilisé.
Je suis redirigé vers une erreur Uh-Oh, Something went wrong
Si cette erreur s'affiche, veuillez contacter l'assistance Looker pour obtenir de l'aide afin de diagnostiquer le problème.
Je suis redirigé vers une page affichant le message d'erreur 401 You are not authenticated to view this page.
Si vous avez suivi toutes les étapes de dépannage applicables et que le problème 401 persiste, il est probable que votre navigateur bloque les cookies tiers. La plupart des navigateurs deviennent plus restrictifs et adoptent par défaut une règle relative aux cookies qui les bloque. Par exemple, le paramètre Empêcher le suivi intersites de Safari est activé par défaut, tout comme le paramètre Bloquer les cookies tiers en navigation privée de Chrome.
Si votre application intègre du contenu Looker et que le nom de domaine de votre instance Looker se termine par company.looker.com
, le navigateur n'authentifiera pas l'iframe intégré sur plusieurs domaines, sauf si les paramètres de confidentialité des cookies du navigateur sont modifiés.
Instances hébergées par Looker
Les administrateurs hébergés sur Looker qui ne souhaitent pas que leurs utilisateurs activent manuellement les cookies tiers dans leur navigateur devront modifier le nom de domaine de l'instance hébergée sur Looker. Par exemple, les instances hébergées par Looker se présentent généralement sous la forme https://<hostname>.<subdomain>.<domain>.com
. Si le nom de domaine Looker est modifié, Looker ne sera plus considéré comme un domaine tiers. Pour en savoir plus, consultez la page des bonnes pratiques Changer l'URL d'une instance Looker.
Si vous souhaitez ajouter un domaine personnalisé à votre instance Looker, contactez l'assistance Looker pour configurer le DNS nécessaire.
Instances auto-hébergées
Si vous auto-hébergez votre instance Looker, assurez-vous que votre application utilisant l'intégration signée se trouve sur le même domaine de base que votre instance Looker en modifiant les entrées DNS de votre instance Looker.
Chrome exige également que tout cookie de session avec l'indicateur samesite=none
spécifie également secure
. Looker n'enverra pas de signal secure
si votre instance Looker n'est pas associée à un --ssl-provided-externally-by=<s>
indicateur de démarrage. Assurez-vous donc que cet indicateur de démarrage est configuré.
Le problème persiste. Que dois-je faire ?
Si vous rencontrez toujours des problèmes après avoir essayé les suggestions de cette page, veuillez contacter votre interlocuteur Looker ou accéder à l'assistance Looker pour ouvrir une demande.