以 ADFS 作為 IDP 進行 SP 憑證更新時,SSO 登入失敗

以 ADFS 作為 IDP 進行 SP 憑證更新時,SSO 登入失敗。

在 IdP (ADFS) 上更新新的 SP 憑證時發生 SSO 失敗。

錯誤:回應中的狀態碼無效。

調查步驟:

  1. 擷取SAML追踪以尋找SAML回應:
使用者新增的影像
  • 開啟 Notepad++,以安裝按一下這裡
    • 貼上訊息,在 XML 語言中直接尋找 SAML 回應。
  1. 檢查屬性是否存在於 IdP 的SAML回應中。
  2. 如果看不到任何屬性,表示 Webex 並沒有從 IdP 接收到回應。 因此,需要從 IdP 端調查問題。
  3. 若要檢查 ADFS Webex依賴方設定,按一下這裡
  4. 當設定看起來正常時,請檢查活動檢視程式記錄。
  5. 檢查 Windows 記錄中的 ADFS 錯誤:
  • 在 Windows 記錄中,尋找有無 ADFS 事件記錄錯誤碼 364。 事件詳細資料識別無效的憑證。 在這些情況下,不允許 ADFS 主機透過防火牆上的埠 80 來驗證憑證。
  • 允許 IdP 存取連接埠 80 透過防火牆到達網際網路,因此它可以執行 CRL 檢查。
    • 如果連接埠已開啟,請使用Microsoft及其防火牆跟進。
    • 如果防火牆上未開啟連接埠 80 或者 CRL 檢查不起作用,請停用 CRL。
  1. 在 ADFS 伺服器上 > 按一下事件檢視器 > 應用程式 > ADFS > 管理 > 以您複製的登入時間戳記,搜尋錯誤記錄。 如果您看到以下錯誤:
錯誤: "Encountered error during federation passive request.
Additional Data
Protocol Name: Saml
Relying Party: https://idbroker.webex.com/39xxxx4ea-4xxe-416e-bd4f-4cxxxxxxx
Exception details:
Microsoft.IdentityServer.Service.SecurityTokenService.RevocationValidationException: MSIS3014: The encryption certificate of the relying party trust 'https://idbroker.webex.com/39xxxx4ea-4xxe-416e-bd4f-4cxxxxxxx' identified by thumbprint '754B9208F1F75C5CC962750F3675C5D129471D80' is not valid. It might indicate that the certificate has been revoked, has expired, or that the certificate chain is not trusted.
at Microsoft.IdentityModel.Threading.AsyncResult.End(IAsyncResult result)
at Microsoft.IdentityModel.Threading.TypedAsyncResult1.End(IAsyncResult result) at Microsoft.IdentityServer.Web.WSTrust.SecurityTokenServiceManager.Issue(RequestSecurityToken request, IList1& identityClaimSet, List1 additionalClaims) at Microsoft.IdentityServer.Web.WSTrust.SecurityTokenServiceManager.Issue(RequestSecurityToken request, List1 additionalClaims)
at 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)
at Microsoft.IdentityServer.Web.Protocols.Saml.SamlProtocolHandler.RequestBearerToken(WrappedHttpListenerContext context, HttpSamlRequestMessage httpSamlRequest, SecurityTokenElement onBehalfOf, String relyingPartyIdentifier, Boolean isKmsiRequested, Boolean isApplicationProxyTokenRequired, String& samlpSessionState, String& samlpAuthenticationProvider)at  Microsoft.IdentityServer.Web.Protocols.Saml.SamlProtocolHandler.BuildSignInResponseCoreWithSerializedToken(HttpSamlRequestMessage httpSamlRequest, WrappedHttpListenerContext context, String relyingPartyIdentifier, SecurityTokenElement signOnTokenElement, Boolean isKmsiRequested, Boolean isApplicationProxyTokenRequired) at Microsoft.IdentityServer.Web.Protocols.Saml.SamlProtocolHandler.BuildSignInResponseCoreWithSecurityToken(SamlSignInContext context, SecurityToken securityToken, SecurityToken deviceSecurityToken)
at Microsoft.IdentityServer.Web.Protocols.Saml.SamlProtocolHandler.Process(ProtocolContext context)
at Microsoft.IdentityServer.Web.PassiveProtocolListener.ProcessProtocolRequest(ProtocolContext protocolContext, PassiveProtocolHandler protocolHandler)
at Microsoft.IdentityServer.Web.PassiveProtocolListener.OnGetContext(WrappedHttpListenerContext context)"

以下是解析度:
  • 在 ADFS 上以管理員的身份開啟 Powershell,然後執行指令:
Get-AdfsRelyingPartyTrust -Identifier 'https://idbroker.webex.com/39xxxx4ea-4xxe-416e-bd4f-4cxxxxxxx '  | Set-AdfsRelyingPartyTrust -SigningCertificateRevocationCheck None -EncryptionCertificateRevocationCheck None
附註:
  • 請確保輸入帶引號的標識符URL且標識符URL可在錯誤訊息中找到,請複制並貼上它。
  • 政府版Webex (FedRAMP) Control Hub 必須使用idbroker-f.webex.com而不是idbroker.webex.com


 

  • 在 ADFS 上以管理員的身份開啟 Powershell,然後執行指令:
取得 AdfsRelyingPartyTrust -名稱「Cisco Webex」|設定 AdfsRelyingPartyTrust -SigningCertificateRevocationCheck 無 -EncryptionCertificateRevocationCheck 無
附註:請確保輸入與客戶在其 ADFS 上建立的相同的回覆方信任名稱,並帶有雙引號。
 
  • 在 Control Hub 上測試 SSO 以進行驗證。
本文是否有幫助?