問題
當使用PingFederate通過Databricks的SSO連接進行身份驗證時,重定向失敗,出現以下錯誤:
19/12/21 01:27:01 ERROR SamlAuthenticator[root= servicemin -6c710d1c1fca0002 parent= servicemin -6c710d1c1fca0002 op=HttpServer-6c710d1c1fdf2812]: SAML login failed fails fails .日誌含義java.lang.IllegalArgumentException: com.google.common.io.BaseEncoding$DecodingException:無法識別的字符:com.google.common.io.BaseEncoding.decode (BaseEncoding.java: 248)com.m.eheci.common.authentication.saml.SamlAuthenticator.validateRequest (SamlAuthenticator.scala: 154)com.m.eheci.common.web.WrappingAuthenticator.validateRequest (WrappingAuthenticator.scala: 98)com.m.eheci.common.web.CustomErrorAuthenticator.validateRequest (CustomErrorAuthenticator.scala: 45)
導致
這是因為PingFederate同時使用多個身份驗證源,根據用戶和設備上下文來滿足各種策略需求。
當您使用LDAP進行後端身份驗證時,PingFederate充當將通信傳遞到LDAP服務器的適配器。SAML響應是基於LDAP設置生成的,該設置覆蓋PingFederate SSO設置。
解決方案
為了通過SSO進行身份驗證,必須將LDAP SAML頒發者輸入為身份提供者實體ID在數據庫裏管理控製台.
- 在PingFederate設置中找到LDAP SAML頒發者。
- 登錄到Databricks工作空間。
- 打開管理控製台.
- 單擊單點登錄選項卡。
- 的PingFederate設置中輸入SAML頒發者信息身份提供者實體ID字段。