簡體   English   中英

如何使用 SAML 在 Java 中實現 SSO?

[英]How to implement SSO in Java with SAML?

我的應用程序使用 cuba.platform 作為框架,我想實現一個 LoginProvider。 這是一些關於此的文檔:

https://doc.cuba-platform.com/manual-6.8/web_login.html?_ga=2.22865267.938183531.1520173474-888291717.1510758296

是否有一種簡單的方法來實現上述文檔的“LoginProvider”以支持 SAML?

我試圖找到一些開源框架,但很難找到關於這個主題的好的教程或好的文檔。

那么,我如何實現這個 LoginProvider?

SAML2 是一個相當簡單的流程,LoginProvider 必須通過查看圖表來處理它。 從頁面:

login() - 對用戶進行身份驗證,啟動會話並更改連接狀態

因此,在調用login() ,您應該擁有用戶的 SAML 屬性。 您需要執行以下操作,而不是 LoginProvider 的標准用戶名/密碼流程(根據該頁面的說明):

  • 找出用戶與哪個 IdP 相關聯,即獲取 IdP 的 entityID
  • 從其 SAML 元數據加載 entityID 的 SSO 端點
  • 使用 SAMLRequest 將瀏覽器重定向到 SSO 端點
  • 在您的 LoginProvider 接收重定向的瀏覽器以獲取 SAMLResponse
  • 從 SAMLResponse 解析 SAML 屬性
  • login()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM