当通过 ADFS 将 SP 证书更新为 IDP 时 SSO 登录失败
当通过 ADFS 将 SP 证书更新为 IDP 时 SSO 登录失败。
当更新 IdP (ADFS) 上的新 SP 证书时 SSO 失败。
错误:响应中的状态代码无效。
调查步骤:
- 捕获SAML跟踪以找到SAML响应:
- 将 SAML消息解码 插件添加到浏览器:
对于 Chrome:https://chrome.google.com/webstore/detail/saml-message-decoder/mpabchoaimgbdbbjjieoaeiibojelbhm?hl=en
对于 Firefox: https://addons.mozilla.org/en-US/firefox/addon/saml-message-decoder-extension/ - 打开插件,然后单击复制此消息。
- 打开Notepad++,以安装 单击此处。
- 粘贴消息,直接以 XML 语言查找 SAML 响应。
- 检查来自IdP的SAML响应中是否包含这些属性。
- 如果您看不到任何属性,则意味着 Webex 不会从 IdP 收到它们。因此,这个问题需要从IdP端进行调查。
- 要检查ADFS Webex依赖派对配置,请单击此处。
- 当配置看起来良好时,请检查事件查看日志。
- 选中 Windows 日志中的 ADFS 错误:
- 在 Windows 日志中,查找 ADFS 事件日志错误代码 364。事件详细信息指出证书无效。在此类情况下,表示不允许 ADFS 主机通过防火墙端口 80 验证证书。
- 允许IdP通过防火墙访问端口80,以便能够执行CRL检查。
- 如果端口已打开,请跟进Microsoft及其防火墙。
- 如果防火墙上未打开端口80,或者CRL检查不起作用,则请禁用CRL。
- 在 ADFS 服务器 > 单击事件查看器 > 应用程序 > ADFS > 管理 > 在您复制登录的时间戳记下搜索错误日志。如果您看到以下错误:
错误:“联邦被动请求期间遇到错误。
其他数据
方案名称:SAML
依赖方:https://idbroker.webex.com/39xxxx4ea-4xxe-416e-bd4f-4cxxxxxxx
例外详细信息:
方案名称:SAML
依赖方:https://idbroker.webex.com/39xxxx4ea-4xxe-416e-bd4f-4cxxxxxxx
例外详细信息:
Microsoft.IdentityServer.Service.SecurityTokenService.RevocationValidationException: MSIS3014:由拇指指纹标识的信赖方信任的加密证书“754B9208F1F75C5CC962750F3675C5D129471D80”https://idbroker.webex.com/39xxxx4ea-4xxe-416e-bd4f-4cxxxxxxx'无效。这可能表示证书已撤销、已到期或证书链不可信。
at Microsoft.IdentityModel.Threading.AsyncResult.End(IAsyncResult result)
在Microsoft.IdentityModel.Threading.TypedAsyncResult1.End(IAsyncResult result)在Microsoft.IdentityServer.Web.WSTrust.SecurityTokenServiceManager.Issue(RequestSecurityToken request, IList1& identityClaimSet, List1 additionalClaims)在Microsoft.IdentityServer.Web.WSTrust.SecurityTokenServiceManager.Issue(RequestSecurityToken请求, List1 additionalClaims)在Microsoft.IdentityServer.Web.Protocols.Saml.SamlProtocolManager.Issue(HttpSamlRequestMessage httpSamlRequestMessage、SecurityTokenElement代表、String会话状态、String继电状态、String&newSamlSession、String&samlpAuthenticationProvider、Boolean isUrlTranslationNeeded、WrappedHttpListenerContext、Boolean isKmsiRequested)在Microsoft.IdentityServer.Web.Protocols.Saml.SamlProtocolHandler.RequestBearerToken(WrappedHttpListenerContext,HttpSamlRequestMessageSamlRequest,SecurityTokenElement代表,StringrelyingPartyIdentifier,Boolean isKmsiRequested,Boolean isApplicationProxyTokenRequired,String&samlpSessionState,String&samlpAuthenticationProvider)atMicrosoft.IdentityServer.Web.Protocols.Saml.SamlProtocolHandler.BuildSignInResponseCoreWithSerializedToken(HttpSamlRequestMessageSamlRequest,WrappedHttpListenerContext,StringRelyingPartyIdentifier,SecurityTokenElement signOnTokenElement,Boolean isKmsiRequested,Boolean isApplicationProxyTokenRequired),Microsoft.IdentityServer.Web.Protocols.Saml.SamlProtocolHandler.BuildSignInResponseCoreWithSecurityToken(SamlSignInContext,SecurityToken,SecurityToken设备SecurityToken)在Microsoft.IdentityServer.Web.Protocols.Saml.SamlProtocolHandler.Process(ProtocolContext context)在Microsoft.IdentityServer.Web.PassiveProtocolListener.ProcessProtocolRequest(ProtocolContext protocolContext, PassiveProtocolHandler protocolHandler)在Microsoft.IdentityServer.Web.PassiveProtocolListener.OnGetContext(WrappedHttpListenerContext)”
这是分辨率:
- 在 ADFS 上以管理员身份打开 Powershell,然后运行命令:
Get-AdfsRelyingPartyTrust -标识符'https://idbroker.webex.com/39xxxx4ea-4xxe-416e-bd4f-4cxxxxxxx' | 设置-AdfsRelyingPartyTrust -SignCertificateRevocationCheck None -EncryptionCertificateRevocationCheck None
注:
- 确保在引号中输入标识符URL,并且标识符URL可以在错误消息中找到,复制并粘贴它。
- 必须使用Webex for Government (FedRAMP) Control Hub https://admin-usgov.webex.com/。
或
- 在 ADFS 上以管理员身份打开 Powershell,然后运行命令:
Get-AdfsRelyingPartyTrust -Name“Cisco Webex”| 设置-AdfsRelyingPartyTrust -SignCertificateRevocationCheck None -EncryptionCertificateRevocationCheck None
注意:请确保输入回复方信任的名称与在ADFS上创建的客户相同,并以双引号的方式输入。
- 在 Control hub 上测试 SSO 以进行验证。
这篇文章对您有帮助吗?