SSO’échec de connexion lors du renouvellement du certificat SP par ADFS en tant qu’IDP
Un commentaire ?
Échec de connexion SSO lors du renouvellement du certificat du fournisseur de services via ADFS en tant qu'IDP.
Échec de l’authentification unique SSO lors de la mise à jour du nouveau certificat SP sur IdP (ADFS).
Erreur : code d’état non valide dans la réponse.
Étapes à suivre pour enquêter :
- Capturez une trace SAML pour trouver la réponse SAML :
- Ajoutez le plugin Décodeur de message SAML au navigateur :
Pour Chrome : https://chrome.google.com/webstore/detail/saml-message-decoder/mpabchoaimgbdbbjjieoaeiibojelbhm?hl=en
Pour Firefox : https://addons.mozilla.org/fr-FR/firefox/addon/saml-message-decoder-extension/ - Ouvrez le plugin et cliquez sur Copier ce message.
- Ouvrez Notepad++, pour installer Cliquez ici.
- Collez le message pour trouver directement la réponse SAML en langue XML.
- Vérifiez si les attributs sont présents dans la réponse SAML de l’IdP.
- Si vous ne voyez aucun attribut, cela signifie que Webex ne les reçoit pas de l’IdP. Par conséquent, le problème doit être étudié à partir de la fin de l'IdP.
- Pour vérifier l’ADFS Webex en fonction de la configuration de la partie, cliquez ici.
- Lorsque la configuration vous semble correcte, consultez les journaux de la visionneuse d'événements.
- Vérifier les erreurs ADFS dans les journaux Windows :
- Dans les journaux Windows, recherchez le code d’erreur 364 du journal d’événements ADFS. Les détails de l'événement identifient un certificat non valide. Dans ces cas, l'hôte ADFS n'est pas autorisé à passer par le pare-feu sur le port 80 pour valider le certificat.
- Autoriser l’accès IdP au port 80 via un pare-feu vers Internet, afin qu’il puisse effectuer des vérifications CRL.
- Si le port est ouvert, faites un suivi auprès de Microsoft et de son pare-feu.
- Si le port 80 n’est pas ouvert sur le pare-feu ou si les vérifications CRL ne fonctionnent pas, désactivez CRL.
- Sur le serveur ADFS > Cliquez sur Visionneuse d’événements > Applications > ADFS > Admin > recherchez le journal d’erreurs au moment de l’horodatage que vous avez répliqué la connexion. Si vous voyez l'erreur suivante :
Erreur : "Une erreur a été rencontrée lors de la requête passive de fédération.
Données supplémentaires
Nom du protocole : Saml
Partie de confiance : https://idbroker.webex.com/39xxxx4ea-4xxe-416-bd4f-4cxxxxxxx
Détails de l’exception :
Nom du protocole : Saml
Partie de confiance : https://idbroker.webex.com/39xxxx4ea-4xxe-416-bd4f-4cxxxxxxx
Détails de l’exception :
Microsoft.IdentityServer.Service.SecurityTokenService.RevocationValidationException : msis3014 : Le certificat de chiffrement de l’approbation de partie de confiance « https://idbroker.webex.com/39xxxx4ea-4xxe-416-bd4f-4cxxxxxxx » identifié par l’empreinte digitale « 754B9208F1F75C5CC962750F3675C5D129471D80 » n’est pas valide. Il peut indiquer que le certificat a été révoqué, a expiré, ou que la chaine de certificats n'est pas digne de confiance.
à Microsoft.IdentityModel.Threading.AsyncResult.End(Résultat IAsyncResult)
chez Microsoft.IdentityModel.Threading.TypedAsyncResult1.End(IAsyncResult résultat) chez Microsoft.IdentityServer.Web.WSTrust.SecurityTokenServiceManager.Issue(RequestSecurityToken request, IList1 & identityClaimSet, List1 additionalClaims) chez Microsoft.IdentityServer.Web.WSTrust.SecurityTokenServiceManager.Issue(RequestSecurityToken request, List1 additionalClaims)
à Microsoft.IdentityServer.Web.Protocols.Saml.SamlProtocolManager.Issue(HttpSamlRequestMessage httpSamlRequestMessage, SecurityTokenElement onBehalfOf, String sessionState, String relayState, String& newSamlSession, String& samlpAuthenticationProvider, Boolean isUrlTranslationNeeded, WrappedHttpListenerContext context, Boolean isKmsiRequested)
chez Microsoft.IdentityServer.Web.Protocols.Saml.SamlProtocolHandler.RequestBearerToken(WrappedHttpListenerContext context, HttpSamlRequestMessage httpSamlRequest, SecurityTokenElement forBehalfOf, String relyingPartyIdentifier, Boolean isKmsiRequested, Boolean isApplicationProxyTokenRequired, String & samlpSessionState, String & samlpAuthenticationProvider)chez Microsoft.IdentityServer.Web.Protocols.Saml.SamlProtocolHandler.BuildSignInResponseCoreWithSerializedToken(HttpSamlRequestMessage httpSamlRequest, WrappedHttpListenerContext context, String relyingPartyIdentifier, SecurityTokenElement signOnTokenElement, Boolean isKmsiRequested, Boolean is
à Microsoft.IdentityServer.Web.Protocols.Saml.SamlProtocolHandler.Process(ProtocolContext context)
à Microsoft.IdentityServer.Web.PassiveProtocolListener.ProcessProtocolRequest(ProtocolContext protocolContext, PassiveProtocolHandler protocolHandler)
à Microsoft.IdentityServer.Web.PassiveProtocolListener.OnGetContext(WrappedHttpListenerContext context) »
à Microsoft.IdentityServer.Web.Protocols.Saml.SamlProtocolManager.Issue(HttpSamlRequestMessage httpSamlRequestMessage, SecurityTokenElement onBehalfOf, String sessionState, String relayState, String& newSamlSession, String& samlpAuthenticationProvider, Boolean isUrlTranslationNeeded, WrappedHttpListenerContext context, Boolean isKmsiRequested)
chez Microsoft.IdentityServer.Web.Protocols.Saml.SamlProtocolHandler.RequestBearerToken(WrappedHttpListenerContext context, HttpSamlRequestMessage httpSamlRequest, SecurityTokenElement forBehalfOf, String relyingPartyIdentifier, Boolean isKmsiRequested, Boolean isApplicationProxyTokenRequired, String & samlpSessionState, String & samlpAuthenticationProvider)chez Microsoft.IdentityServer.Web.Protocols.Saml.SamlProtocolHandler.BuildSignInResponseCoreWithSerializedToken(HttpSamlRequestMessage httpSamlRequest, WrappedHttpListenerContext context, String relyingPartyIdentifier, SecurityTokenElement signOnTokenElement, Boolean isKmsiRequested, Boolean is
à Microsoft.IdentityServer.Web.Protocols.Saml.SamlProtocolHandler.Process(ProtocolContext context)
à Microsoft.IdentityServer.Web.PassiveProtocolListener.ProcessProtocolRequest(ProtocolContext protocolContext, PassiveProtocolHandler protocolHandler)
à Microsoft.IdentityServer.Web.PassiveProtocolListener.OnGetContext(WrappedHttpListenerContext context) »
Voici la résolution :
- Ouvrez Powershell sur ADFS en tant qu’administrateur et exécutez la commande :
Get-AdfsRelyingPartyTrust -Identifier 'https://idbroker.webex.com/39xxxx4ea-4xxe-416-bd4f-4cxxxxxxx' | Set-AdfsRelyingPartyTrust -SigningCertificateRevocationCheck Aucun -EncryptionCertificateRevocationCheck Aucun
Remarque :
- Veillez à saisir l’URL de l’identificateur dans des guillemets et l’URL de l’identificateur se trouve dans le message d’erreur, copiez-le et collez-le.
- Webex for Government (FedRAMP) Control Hub doit utiliser https://admin-usgov.webex.com/.
ou
- Ouvrez Powershell sur ADFS en tant qu’administrateur et exécutez la commande :
Get-AdfsRelyingPartyTrust -Name "Cisco Webex" | Set-AdfsRelyingPartyTrust -SigningCertificateRevocationCheck Aucun -EncryptionCertificateRevocationCheck Aucun
Remarque : veillez à saisir le nom de l'approbation de la partie qui répond de la même manière que celui du client créé sur son ADFS et par guillemets doubles.
- Testez l’authentification unique SSO sur le Control Hub pour vérifier.
Cet article était-il utile ?