SSO’échec de connexion lors du renouvellement du certificat SP par ADFS en tant qu’IDP
SSO échec de connexion lors du renouvellement du certificat SP par ADFS comme IDP.
SSO échec lors de la mise à jour du nouveau certificat SP sur l’IdP (ADFS).
Erreur : Code de statut non valide dans la réponse.
Étapes à suivre pour enquêter :
- Capturez une trace SAML pour trouver la réponse SAML :
- Ajoutez le plugin SAML Message Decoder au navigateur :
Pour Chrome : https://chrome.google.com/webstore/detail/saml-message-decoder/mpabchoaimgbdbbjjieoaeiibojelbhm?hl=en
Pour Firefox : https://addons.mozilla.org/en-US/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 la réponse SAML directement 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 examiné du côté de l’IdP.
- Pour vérifier la configuration ADFS Webex en fonction de la partie, Cliquez ici.
- Lorsque la configuration semble correcte, vérifiez 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 invalide. Dans ce 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 de l’IdP au port 80 via un pare-feu vers Internet, afin qu’il puisse effectuer des vérifications CRL.
- Si le port est ouvert, effectuez un suivi avec Microsoft et 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’horodament que vous avez répliqué la connexion. Si vous voyez l'erreur suivante :
Erreur : « Une erreur a été rencontrée au cours de la requête passif de fédération.
Nom du
protocole des données supplémentaires : Partie de confiance Saml
: https://idbroker.webex.com/39xxxx4ea-4xxe-416e-bd4f-4cxxxxxxx
Détails de l’exception :
protocole des données supplémentaires : Partie de confiance Saml
: https://idbroker.webex.com/39xxxx4ea-4xxe-416e-bd4f-4cxxxxxxx
Détails de l’exception :
Microsoft.IdentityServer.Service.SecurityTokenService.RevocationValidationException : MSIS3014 : Le certificat de chiffrement de l’trust de partie de confiance identifié parhttps://idbroker.webex.com/39xxxx4ea-4xxe-416e-bd4f-4cxxxxxxx' l’empreinte digitale « 754B9208F1F75C5CC962750F3675C5D129471D80 » n’est pas valide. Il peut indiquer que le certificat a été révoqué, qu’il a expiré, ou que la chaine de certificats n’est pas digne de confiance.
à Microsoft.IdentityModel.Threading. AsyncResult.End (Résultat IAsyncResult)
à Microsoft.IdentityModel.Threading. TypedAsyncResult1. Fin (Résultat IAsyncResult) à Microsoft.IdentityServer.Web.WSTrust.SecurityTokenServiceManager.Issue(RequestSecurityToken request, IList1&identityClaimSet, List1 additionalClaims) à Microsoft.IdentityServer.Web.WSTrust.SecurityTokenServiceManager.Issue(RequestSecurityToken request, List1 additionalClaims)
à Microsoft.IdentityServer.Web.Protocols.Saml.SamlProtocolManager.Issue(HttpSamlRequestMessage httpSamlRequestMessage, SecurityTokenElement surBehalfOf, String sessionState, String relayState, String& newSamlSession, String& samlpAuthenticationProvider, Boolean isUrlTranslationNeed, WrappedListenerContext context, Boolean isKmsiRequested)
à l’adresse Microsoft.IdentityServer.Web.Protocols.Saml.SamlProtocolHandler.RequestProkenToken(WrappedHttpListenerContext context, httpSamlRequestMessage httpSamlRequest, SecurityTokenElement onBehalfOf, Caractères de confiancePartyIdentifier, Boolean estKmsiRequested, booléen estApplicationProxyTokenRequired, String& samlpSessionState, String& samlpAuthenticationProvider)à Microsoft.IdentityServer.Web.Protocols.Saml.SamlProtocolHandler.BuildSignInResponseCoreSerializedToken( HttpSamlRequestMessage httpSamlRequest, WrappedHttpListenerContext context, String relyingPartyIdentifier, SecurityTokenElement signOnTokenElement, Boolean isKmsiRequested, Boolean isApplicationProxyTokenRequired) à Microsoft.IdentityServer.Web.Protocols.Saml.SamlProtocolHandler.BuildSignInResponseCoreWithSecurityToken(SamlSignInContext context, SecurityToken securityToken, SecurityToken DeviceTokenSecurityToken)
à Microsoft.IdentityServer.Web.Protocols.Saml.SamlProtocolHandler.Process(ProtocolContext context)
à Microsoft.IdentityServer.Web.PassiveProtocolListener.ProcessProtocolRequest(ProtocolContext ProtocolContext, PassiveProtocolHandler protocolHandler)
à Microsoft.IdentityServer.Web.PassiveProtocolListener.OnGetContext(WrappedListenerContext Context) »
à Microsoft.IdentityServer.Web.Protocols.Saml.SamlProtocolManager.Issue(HttpSamlRequestMessage httpSamlRequestMessage, SecurityTokenElement surBehalfOf, String sessionState, String relayState, String& newSamlSession, String& samlpAuthenticationProvider, Boolean isUrlTranslationNeed, WrappedListenerContext context, Boolean isKmsiRequested)
à l’adresse Microsoft.IdentityServer.Web.Protocols.Saml.SamlProtocolHandler.RequestProkenToken(WrappedHttpListenerContext context, httpSamlRequestMessage httpSamlRequest, SecurityTokenElement onBehalfOf, Caractères de confiancePartyIdentifier, Boolean estKmsiRequested, booléen estApplicationProxyTokenRequired, String& samlpSessionState, String& samlpAuthenticationProvider)à Microsoft.IdentityServer.Web.Protocols.Saml.SamlProtocolHandler.BuildSignInResponseCoreSerializedToken( HttpSamlRequestMessage httpSamlRequest, WrappedHttpListenerContext context, String relyingPartyIdentifier, SecurityTokenElement signOnTokenElement, Boolean isKmsiRequested, Boolean isApplicationProxyTokenRequired) à Microsoft.IdentityServer.Web.Protocols.Saml.SamlProtocolHandler.BuildSignInResponseCoreWithSecurityToken(SamlSignInContext context, SecurityToken securityToken, SecurityToken DeviceTokenSecurityToken)
à Microsoft.IdentityServer.Web.Protocols.Saml.SamlProtocolHandler.Process(ProtocolContext context)
à Microsoft.IdentityServer.Web.PassiveProtocolListener.ProcessProtocolRequest(ProtocolContext ProtocolContext, PassiveProtocolHandler protocolHandler)
à Microsoft.IdentityServer.Web.PassiveProtocolListener.OnGetContext(WrappedListenerContext 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-416e-bd4f-4cxxxxxxx ' | ' Set-AdfsRelyingPartyTrust -SigningCertificateRevocationCheck Aucun -EncryptionCertificateRevocation Aucun
Remarque :
- Assurez-vous de saisir l'URL de l'identifiant dans les guillemets et l'URL de l'identifiant 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 None -EncryptionCertificateRevocationCheck None
Remarque:Assurez-vous de saisir le nom de la partie ayant répondu de la même manière que le seul client créé sur son ADFS et en guillemets doubles.
- Testez SSO le control hub pour vérifier.
Cet article était-il utile ?