Il peut être difficile de résoudre les erreurs d'authentification lorsque vous utilisez l'intégration avec signature pour votre contenu Looker. Vous pouvez essayer de diagnostiquer les problèmes de différentes manières, 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.
Premières étapes générales à essayer
Avant d'intégrer des contenus, assurez-vous que votre secret d'intégration a été généré dans le panneau Administration et que votre contenu intégré fonctionne en mode production, et pas seulement en mode développement.
Si vous disposez d'autorisations d'administrateur, exécutez 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 d'intégration ne s'affiche pas sur la page Utilisateurs du panneau Administration 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 à l'aide de certaines des suggestions et des ressources indiquées sur cette page.
Si votre instance est auto-hébergée, assurez-vous que le serveur client peut atteindre le serveur Looker. Si les données entre le client et le serveur sont transmises via 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 la procédure à 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 signifie généralement que l'authentification d'intégration signée ne fonctionne pas correctement.
Commencez par générer une nouvelle URL d'intégration signée et testez-la dans l'outil de validation de l'URI d'intégration sous la page Intégration du panneau Administration de Looker. Le validateur d'URI d'intégration peut parfois fournir 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 vous trouvez sur la page Intégration du panneau Administration de Looker et que l'outil de validation de l'URI d'intégration ne s'affiche pas, cela signifie que l'intégration avec signature n'a pas encore été activée. Vous devez activer l'intégration avec signature.
J'obtiens l'erreur 'signature param' failed to authenticate
Si cette erreur s'affiche, la signature générée par votre script ne fonctionne pas comme prévu. Pour trouver des solutions, consultez les sections suivantes:
Les secrets d'intégration correspondent-ils ?
Le secret d'intégration de votre instance Looker doit être identique au 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 secret pour générer un nouveau secret et l'ajouter à votre script. Réinitialiser la clé interrompra tous les éléments intégrés qui utilisaient la clé précédente.
Essayez d'utiliser le point de terminaisonCreate Signed Embed Url
pour créer votre URL d'intégration, en spécifiant le secret dans votre script pour lesecret_id
dans le corps de l'appel. La réponse vous indique 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 dans la chaîne de signature doivent être dans l'ordre approprié dans le script de génération d'URL. L'ordre correct est décrit sur la page de documentation Encodage signé.
La chaîne de signature, lorsqu'elle est imprimée, 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 aux paramètres 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, le +
pourrait être interprété comme un espace s'il n'est pas correctement encodé) et qu'il n'y a pas de sauts de ligne dans l'URL d'intégration signée, qui pourraient être manqués après l'encodage.
Comparez votre script à nos exemples de script pour vérifier qu'il suit toutes les étapes appropriées et que la signature utilise le chiffrement approprié.
J'obtiens l'erreur This request includes invalid params: ["embed_domain"]
Avant de commencer à résoudre cette erreur, 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 une exigence pour une implémentation d'intégration signée de base. Si votre application n'a pas besoin d'écouter les événements JavaScript, la solution 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 partie de embed_url
. Il doit être ajouté après l'URL d'intégration et avant les autres paramètres.
Voici à quoi cela doit ressembler lorsque le paramètre embed_domain
est spécifié correctement 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 à laquelle vous avez déjà accédé. Assurez-vous de générer une nouvelle 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 ce message s'affiche, veuillez contacter l'assistance Looker pour qu'elle vous aide à diagnostiquer le problème.
Je suis redirigé vers une page avec 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, votre navigateur bloque probablement les cookies tiers. La plupart des navigateurs deviennent plus restrictifs et utilisent par défaut une politique de cookies qui bloque ces cookies. 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'authentifie pas l'iframe intégrée entre les 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 par Looker qui ne souhaitent pas que leurs utilisateurs activent manuellement les cookies tiers dans leurs navigateurs doivent modifier le nom de domaine de l'instance hébergée par Looker. Par exemple, les instances hébergées par Looker prennent généralement le format https://<hostname>.<subdomain>.<domain>.com
. Si le nom de domaine Looker est modifié, Looker ne sera plus considéré comme un domaine tiers. Consultez Que se passe-t-il si l'URL de mon instance Looker change ? Pour en savoir plus, consultez la page des bonnes pratiques.
Si vous souhaitez ajouter un domaine personnalisé à votre instance Looker, contactez l'assistance Looker pour configurer la configuration DNS nécessaire.
Instances auto-hébergées
Si vous hébergez vous-même 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 ne signalera pas secure
si votre instance Looker n'est pas fournie avec 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 le problème persiste après avoir suivi les suggestions de cette page, veuillez contacter votre contact Looker ou accéder à l'assistance Looker pour ouvrir une demande.