2010-02-05 150 views
17

我想寫一個Web應用程序,它使用由身份提供商發佈的SAML 2.0令牌進行身份驗證。據我瞭解,根據這個question,在PHP世界中有一個可行的解決方案,使用simpleSAMLphp使用Java和SAML 2.0的Web SSO

Java世界中是否有等價的方法?容器或應用程序服務器是否有開箱即用的解決方案和/或教程?

回答

21

您可以嘗試OpenSAML project;它提供了一個用於創建和驗證SAML令牌的Java庫。你需要

-1

一切都在OpenSSO site,與OpenAM,因爲它的繼任者。

+0

鏈接斷開。來自wikipedia「OpenSSO *是一個開源的訪問管理和聯合服務器平臺。」 http://en.wikipedia.org/wiki/OpenSSO – 2012-12-05 10:32:59

5

最近爲應用程序實現SAML身份驗證後,我在OASIS SAML2技術概述文檔中找到了最有用的信息。它非常易讀,並且包含傳遞的XML消息的實例。

5.1節描述了將您的應用程序(服務提供者或SP)請求身份驗證與遠程身份提供者(Idp)進行交互。

http://wiki.oasis-open.org/security/Saml2TechOverview

6

你可以在2個產品看一看:

兩者都有一個相當令人印象深刻的功能列表,並提供了廣泛的SSO代理列表。

代理方法的主要優點是您不必在應用程序中關心身份驗證過程,因爲它由代理和SSO基礎結構處理。

如果您打算開發自己的SAML2服務提供程序,那麼使用OpenSAML是一種方法。缺點是這個庫沒有很好的文檔。不過,您應該可以在Web上輕鬆找到OpenSAML上的一些教程。
您可以將其實現爲例如servlet過濾器,以便您的應用程序代碼不受限於SAML。

4

,因爲這並沒有在一個訪問的同時提供更多最新的答案:

如果你正在做的已經我已經成功使用Spring Security SAML彈簧項目。您不必使用Spring Security來保護您的應用程序以使用SAML擴展,儘管它使它更容易一些。

http://projects.spring.io/spring-security-saml/