Résolution des problèmes liés à SAML dans AEM

Cet article explique comment résoudre les problèmes liés au langage SAML (Security Assertion Markup Language) avec AEM. Il traite du problème de la boucle infinie, du problème d’assertion non valide, entre autres, et des mesures pour les résoudre.

Description description

Environnement

Experience Manager

Problème/Symptômes

Comment résoudre les problèmes liés au langage SAML (Security Assertion Markup Language) avec Adobe Experience Manager (AEM) ?

Résolution resolution

Problème de boucle infinie :

  • Vérifiez si ds:signature fait partie de l’assertion SAML > Si ce n’est pas le cas, cette opération doit être effectuée du côté du fournisseur d’identité et cochez la case correspondant à Assertion signée
  • Recherchez le format nameId dans la réponse SAML. Le format doit correspondre exactement au format nameId Policy tel que configuré dans la configuration SAML.
  • Recherchez AudienceRestriction SAML dans la réponse SAML. La valeur de cette balise doit correspondre exactement à l’ID d’entité dans la configuration SAML.
  • Recherchez saml2 : conditions (NotBefore & NotOnOrAfter), le serveur n’est pas synchronisé avec le serveur ntp. Utilisez ntpd et forcez-le à synchroniser l’heure système (ntpdate -s pool.ntp.org). Pour le test, modifiez la tolérance d'horloge sur -1, cela ignorera la différence d'horloge.
  • Vérifiez si l'assertion n'est pas signée pour les IDP. Demandez à l'équipe du fournisseur d'identité que la réponse est signée et que l'assertion doit être signée conformément à la spécification SAML.
  • Vérifiez si la sortie du traceur SAML si l’assertion du fournisseur d’identité est chiffrée. Si oui, la configuration du gestionnaire d’authentification SAML doit utiliser la case à cocher de chiffrement

Vérifier si le certificat SAML est au format approprié :

  • Récupérez la signature à partir de la réponse SAML et corrigez le certificat, c’est-à-dire qu’après la 65e ligne, appuyez sur Entrée et ainsi de suite.
  • Il peut ensuite être utilisé pour effectuer une installation dans le TrustStore d’AEM et faire correspondre les détails du certificat avec l’IDP.

Chiffrement:

  • Effectuez d’abord toujours la configuration SAML sans chiffrement. Lorsque cela est fait, activez le chiffrement. Ainsi, il est facile de déboguer le problème

Dispatcher:

  • Assurez-vous que la requête de connexion SAML est autorisée dans la section des filtres.Dans le cas contraire, mettez à jour la section /filter pour autoriser les requêtes POST à */saml_login.

    /0100 { /type « allow » /method « POST » /url « */saml_login » }

  • Vérifiez les modifications dans l’en-tête Mod(mod_header) au niveau du serveur web dans httpd.conf. Il doit être au format suivant.

    < < < < < < En-tête modifiez toujours Set-Cookie (.*) « $1; HTTPOnly; Secure » > > > > >

Assertion non valide :

1
2
com.adobe.granite.auth.saml.model.Assertion Invalid Assertion: Signature invalid. com.adobe.granite.auth.saml.SamlAuthenticationHandler Private key of SP not provided: Cannot sign Authn request
  • Le problème peut être lié au certificat stocké dans le TrustStore. La solution ici pourrait être de supprimer et de charger à nouveau le nouveau idp_cert et de vérifier le cas d’utilisation.
  • Si vous ne chiffrez pas la réponse SAML, vous pouvez ignorer l’erreur « Clé privée du fournisseur de services non fournie : impossible de signer la demande d’authentification ».

Impossible De Récupérer La Clé Privée :

1
2
[ com.adobe.granite.security.user.internal.servlets.KeyStoreManagingServlet,1121, [ javax.servlet.Servlet] ] ServiceEvent REGISTERED saml.log:27.01.2019 14:16:13.642 *ERROR* [ qtp275633701-179] com.adobe.granite.auth.saml.SamlAuthenticationHandler KeyStore uninitialized. Cannot retrieve private key to decrypt assertions.
  • Cette erreur signifie que l’IDP a chiffré l’assertion et qu’il n’existe aucune clé privée pour déchiffrer la réponse. Si vous souhaitez chiffrer la réponse, vous devez charger une clé privée valide dans le KeyStore AEM.

Informations à fournir lors de l’ouverture d’un ticket d’assistance SAML :

  • Requête SAML
  • Réponse SAML
  • Configuration SAML
  • Journaux DEBUG pour SAML (com.adobe.granite.auth.saml)
  • Error.log
  • HAR [ fichier 1] pour extraire la requête/réponse SAML

[ 1] Génération d’un fichier HAR

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f