Dépannage
Le message d'erreur dépend de l'outil, mais les causes sont presque toujours les mêmes. Retrouvez la vôtre.
Astuce : collez la réponse SAML dans le décodeur ou utilisez le SP de test pour voir précisément quel contrôle échoue.
Cause probable. L'assertion est destinée à un nom d'application différent de celui que l'application attend. L'écart peut tenir à un caractère : barre finale, http et https, URL et URN, majuscules.
Cause probable. L'adresse où l'IdP envoie la réponse n'est pas exactement celle de l'application. Cas fréquent : un reverse proxy fait passer l'application de https à http en interne, ou ajoute un chemin.
Cause probable. Le contenu a changé après la signature, ou un composant a reformaté le XML en chemin (passerelle, antivirus web, copier-coller).
SAMLResponse) sans la retoucher. Vérifiez que l'encodage base64 n'est pas coupé par des retours à la ligne ou encodé deux fois.Cause probable. Le certificat configuré dans l'application n'est pas celui qui signe. Très souvent, l'IdP a renouvelé son certificat et l'application a gardé l'ancien.
Cause probable. Les horloges du serveur de l'application et de l'IdP ne sont pas synchronisées, ou la durée de validité est très courte.
Cause probable. L'application ne retrouve pas la demande dont la réponse parle : session perdue entre-temps (cookie bloqué, autre navigateur, autre onglet), plusieurs serveurs sans partage de session, ou connexion lancée depuis l'IdP alors que l'application l'interdit.
Cause probable. L'application attend une adresse e-mail et l'IdP envoie un identifiant opaque (ou l'inverse).
emailAddress ou persistent des deux côtés, et vérifiez que l'IdP a bien la valeur correspondante pour l'utilisateur.Cause probable. L'IdP n'envoie pas l'attribut, ou sous un autre nom (mail, email ou un long nom de type URI).
Cause probable. L'application n'arrive pas à créer sa session après la réponse (cookie bloqué, en Secure sur du http interne, ou ACS qui redirige elle-même vers la connexion).
Secure, SameSite) et que l'ACS n'est pas protégée par la connexion qu'elle sert à faire.Cause probable. Côté IdP, l'utilisateur n'est pas assigné à l'application, ou ses groupes ne correspondent pas aux règles de l'application.
Cause probable. L'IdP chiffre les assertions mais l'application n'a pas la clé de déchiffrement, ou le mauvais certificat de chiffrement a été fourni à l'IdP.
use="encryption") et gardez la clé privée correspondante. ID-Kit ne déchiffre pas encore : désactivez le chiffrement pour le test.Cause probable. Avec le binding Redirect, la demande est compressée (deflate) avant le base64. Un outil qui décode seulement le base64 voit des caractères illisibles.
Cause probable. L'IdP refuse : application inconnue (Entity ID non déclaré), ACS non déclarée, utilisateur inconnu, ou authentification échouée.
Envie de voir ça en vrai ? ID-Kit joue le rôle qui vous manque et vous montre chaque étape.