SSO de inicio de sesión al renovar el certificado de SP a través de ADFS como IDP
¿Comentarios?
SSO de inicio de sesión al renovar el certificado de SP a través de ADFS como IDP.
SSO al actualizar el nuevo certificado de SP en IdP (ADFS).
Error: código de estado no válido en la respuesta.
Pasos para investigar:
- Capture una traza de SAML para encontrar la respuesta de SAML:
- Agregue el complemento Decodificador de mensajes SAML al navegador:
Para Chrome: https://chrome.google.com/webstore/detail/saml-message-decoder/mpabchoaimgbdbbjjieoaeiibojelbhm?hl=en
Para Firefox: https://addons.mozilla.org/en-US/firefox/addon/saml-message-decoder-extension/ - Abra el complemento y haga clic en Copiar este mensaje.
- Abra Notepad++ para instalar Haga clic aquí.
- Pegue el mensaje para encontrar la respuesta de SAML en el idioma XML directamente.
- Compruebe si los atributos están presentes en la respuesta de SAML del IdP.
- Si no ve ningún atributo, significa que Webex no los está recibiendo del IdP. Por lo tanto, el problema debe investigarse desde el final del IdP.
- Para comprobar la función de Webex de ADFS en la configuración del usuario, haga clic aquí.
- Cuando la configuración se vea bien, compruebe los registros del visor de eventos.
- Comprobar si hay errores de ADFS en los registros de Windows:
- En los registros de Windows, busque el código de error 364 del registro de eventos de ADFS. Los detalles del evento identifican un certificado no válido. En estos casos, el host ADFS no tiene permiso para atravesar el firewall en el puerto 80 para validar el certificado.
- Permita que el IdP acceda al puerto 80 a través de un firewall a Internet para que pueda realizar comprobaciones de CRL.
- Si el puerto está abierto, realice un seguimiento con Microsoft y su firewall.
- Si el puerto 80 no está abierto en el firewall o las comprobaciones de CRL no funcionan, deshabilite CRL.
- En el servidor de ADFS > haga clic en Visor de eventos > Aplicaciones > ADFS > Administrador > busque el registro de errores en la marca de hora que replicó el inicio de sesión. Si ve el siguiente error:
Error: "Se encontró un error durante la solicitud pasiva de la federación.
Datos adicionales
Nombre del protocolo: Saml (desambiguación)
Parte de confianza: https://idbroker.webex.com/39xxxx4ea-4xxe-156e-bd4f-4cxxxxxxx
Detalles de la excepción:
Nombre del protocolo: Saml (desambiguación)
Parte de confianza: https://idbroker.webex.com/39xxxx4ea-4xxe-156e-bd4f-4cxxxxxxx
Detalles de la excepción:
Microsoft.IdentityServer.Service.SecurityTokenService.RevocationValidationException: msis3014: El certificado de cifrado de la parte de confianza 'https://idbroker.webex.com/39xxxx4ea-4xxe-156e-bd4f-4cxxxxxxx' identificado con la impresión en miniatura '754B9208F1F75C5CC962750F3675C5D129471D80' no es válido. Es posible que indique que el certificado ha sido revocado, ha caducado o que la cadena de certificados no es de confianza.
en Microsoft.IdentityModel.Threading.AsyncResult.End(IAsyncResult result)
en Microsoft.IdentityModel.Threading.TypedAsyncResult1.End(IAsyncResult result) en Microsoft.IdentityServer.Web.WSTrust.SecurityTokenServiceManager.Issue(RequestSecurityToken request, IList1& identityClaimSet, List1 additionalClaims) en Microsoft.IdentityServer.Web.WSTrust.SecurityTokenServiceManager.Issue(RequestSecurityToken request, List1 additionalClaims)
en 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)
en Microsoft.IdentityServer.Web.Protocols.Saml.SamlProtocolHandler.RequestBearerToken(WrappedHttpListenerContext context, HttpSamlRequestMessage httpSamlRequest, SecurityTokenElement onBehalfOf, String relyingPartyIdentifier, Boolean isKmsiRequested, Boolean isApplicationProxyTokenRequired, String& samlpSessionState, String& samlpAuthenticationProvider)en Microsoft.IdentityServer.Web.Protocols.Saml.SamlProtocolHandler.BuildSignInResponseCoreWithSerializedToken(HttpSamlRequestMessage httpSamlRequest, WrappedHttpListenerContext context, String relyingPartyIdentifier, SecurityTokenElement signOnTokenElement, Boolean isKmsiRequested, Boolean isApplicationProxy
en Microsoft.IdentityServer.Web.Protocols.Saml.SamlProtocolHandler.Process (ProtocolContext context)
en Microsoft.IdentityServer.Web.PassiveProtocolListener.ProcessProtocolRequest(ProtocolContext protocolContext, PassiveProtocolHandler protocolHandler)
en Microsoft.IdentityServer.Web.PassiveProtocolListener.OnGetContext (contexto WrappedHttpListenerContext)"
en 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)
en Microsoft.IdentityServer.Web.Protocols.Saml.SamlProtocolHandler.RequestBearerToken(WrappedHttpListenerContext context, HttpSamlRequestMessage httpSamlRequest, SecurityTokenElement onBehalfOf, String relyingPartyIdentifier, Boolean isKmsiRequested, Boolean isApplicationProxyTokenRequired, String& samlpSessionState, String& samlpAuthenticationProvider)en Microsoft.IdentityServer.Web.Protocols.Saml.SamlProtocolHandler.BuildSignInResponseCoreWithSerializedToken(HttpSamlRequestMessage httpSamlRequest, WrappedHttpListenerContext context, String relyingPartyIdentifier, SecurityTokenElement signOnTokenElement, Boolean isKmsiRequested, Boolean isApplicationProxy
en Microsoft.IdentityServer.Web.Protocols.Saml.SamlProtocolHandler.Process (ProtocolContext context)
en Microsoft.IdentityServer.Web.PassiveProtocolListener.ProcessProtocolRequest(ProtocolContext protocolContext, PassiveProtocolHandler protocolHandler)
en Microsoft.IdentityServer.Web.PassiveProtocolListener.OnGetContext (contexto WrappedHttpListenerContext)"
Esta es la resolución:
- Abra Powershell en ADFS como administrador y ejecute el comando:
Get-AdfsRelyingPartyTrust -Identifier 'https://idbroker.webex.com/39xxxx4ea-4xxe-156e-bd4f-4cxxxxxxx' | Set-AdfsRelyingPartyTrust -SigningCertificateRevocationCheck None -EncryptionCertificateRevocationCheck None
Nota:
- Asegúrese de introducir la URL del identificador entre comillas y la URL del identificador se puede encontrar en el mensaje de error, cópiela y péguela.
- Webex for Government (FedRAMP) Control Hub debe utilizar https://admin-usgov.webex.com/.
o
- Abra Powershell en ADFS como administrador y ejecute el comando:
Get-AdfsRelyingPartyTrust -Nombre "Cisco Webex" | Set-AdfsRelyingPartyTrust -SigningCertificateRevocationCheck None -EncryptionCertificateRevocationCheck None
Nota: asegúrese de introducir el nombre de la parte que responde confía igual que el cliente creado en su ADFS y entre comillas dobles.
- Pruebe el SSO en Control Hub para verificar.
¿Ha encontrado este artículo útil?