2013-04-05 60 views
2

有沒有人在Spring Security 3中爲SSO使用OAuth2?Spring Security 3使用OAuth2進行SSO

場景: 我需要我的用戶在他們第一次訪問我的網站上的任何URL時被重定向到OAuth2 URL。一旦他們在那裏得到認證,它就會將他們重定向到我網站上的URL,我需要授權他們並創建一個會話,以便他們在我的網站上保持授權,直到他們註銷或超時。

我已經嘗試過使用自定義預先驗證過濾器,自定義用戶詳細信息服務等的Spring Security中的多個配置,但我無法使流程正常工作。我沒有附加任何代碼,因爲我經歷了很多可能性,我甚至不知道要發佈什麼。

我很感謝任何人可以給的方向。謝謝!

回答

1

誰是你的Oauth2提供者?在一些像Facebook,Twitter,Google和其他公共場合的案例中,您可以看看Spring Social項目。即使您使用某個私人提供商,您也可以非常輕鬆地添加它(http://blog.springsource.com/2011/03/10/extending-spring-socials-service-provider-framework/,開發Netflix服務提供商實施部分)。

Spring Social旨在覆蓋您的主要案例,但存在一些細微差別:默認情況下,您必須提交表單才能開始驗證過程。我認爲這種差異可能很容易根據您的需求進行定製。

您可以與Spring Social Showcase sample一起玩關於認證工作流程的想法。

3

OAuth2不適用於SSO解決方案。主要是將代表您的資源權利委託給其他方(例如應用程序)。所以,如果這不是你需要的,那麼也許你應該看一個更簡單的解決方案。

可以使用OAuth2來訪問提供有關您的身份信息的資源,在這種情況下,可以將其用於身份驗證使用。這是OpenID connect如何使用它(通過添加userinfo端點資源)。

您可能想看看構建在Spring Security OAuth上的CloudFoundry中的UAA project,並以這種方式使用OAuth2提供身份驗證服務並向系統中的應用程序發出訪問令牌。

+0

謝謝你的迴應!不幸的是,儘管我不需要訪問該網站上的資源,但我認爲我使用此oauth資源進行了單一登錄身份驗證... 但是,我會看看UAA項目,看看是否我可以在那裏建立任何東西。謝謝! – Tyrone 2013-04-05 18:02:40

相關問題