我剛剛配置了Shibboleth IdP3.2與我的Web應用程序,它們在後端對LDAP服務器進行身份驗證。使用Shibboleth IdP的Web瀏覽器SAML SSO(不帶反向通道通信)
我可以在本地機器上測試這個認證過程。但是,在CI服務器上部署代碼時,我意識到身份驗證過程無法成功完成。
此故障背後的原因是服務提供商(SP)無法訪問(IdP)。從我們最初的調查來看,我們選擇SAML作爲CAS之類的其他協議的認證協議,因爲它不需要反向信道通信。只要用戶有權訪問SP和IdP,身份驗證過程仍然可以正常工作(SP和IdP不需要彼此交互)
在測試中,我們發現屬性解析成功,但後續的工件決議失敗。在工件解決方案中,IdP直接與SP聯繫並期望得到答覆。 SP無法發送對IdP的響應,因爲它無法訪問。因此,認證失敗。 (Tomcat日誌顯示:unknownHostException)
Web瀏覽器SSO中的一些SAML流程不需要SP和IdP之間的直接通信,如從此流程圖link中看到的那樣。
Shibboleth IdP是否爲此類實施做了規定?是否有沒有任何反向通信的實施Shibboleth IdP的工作?
SOLUTION:
正如斯蒂芬提到的,有可替代的綁定像HTTP重定向和HTTP-POST不使用反向信道的通信。您可以閱讀關於這些綁定的更多信息here
我更改了SP元數據以使HTTP-POST成爲默認綁定,參考此link。
我不必對Shibboleth IdP配置進行任何更改,因爲這些替代綁定已經得到支持,如元數據文件所證實。