2013-01-16 99 views
0

我正在尋找一個解決方案,讓我的客戶訪問我們的應用程序,實際登錄到我們的應用程序(從用戶角度)。oauth的使用案例

這是流程。

  1. 用戶登錄到客戶端應用程序APP1。

  2. 用戶單擊APP1中的一個鏈接,該鏈接應將用戶帶到我們的應用程序APP2。

  3. APP2應驗證用戶的詳細信息,如果用戶不在我們的數據庫中可用創建用戶並轉發到請求的資源。 請注意,此時沒有APP1,APP2將接管用戶界面。

  4. 用戶可以單擊APP2中的一個應將用戶帶回APP1的鏈接。

我們可以使用OAuth來實現嗎?我看到的所有實現都是這樣的,用戶將在兩個應用中都有帳戶,並且點擊一個鏈接,APP2將提供一個授權機制。一旦授權APP1從APP2請求資源。

我們的應用程序基於Java/Spring。而我對APP1沒有任何控制權。

+0

檢查此鏈接:http://stackoverflow.com/questions/1087031/whats-the-difference-between-openid-and-oauth – home

+0

根據我對OAuth的經驗,您需要在兩個應用程序帳戶,用戶必須根據需要登錄兩個應用程序。用戶實際上只會重定向到應用登錄頁面,然後再次返回到您的頁面,但至少對於OAuth驗證,您需要在兩個應用上都進行帳戶驗證。 –

+0

對於'真正'單點登錄,您可能需要查看SAML(身份傳播)。 – home

回答

0

方法1(復)

APP2將實施的OAuth服務器 APP1將基於由用戶APP1

提供訪問succesfull認證和確認後通過APP2生成的令牌執行認證&授權

方法2

實現單點登錄

其中APP2增加了一個認證&認證頭以請求 APP1將總是會查找報頭處理的請求時,在不存在這種報頭的前重定向用戶到APP2驗證畫面與REDIRECT_URL作爲參數。

+0

對於SSO,雙方都應該同意,對吧? APP1是一個獨立的系統,APP2(我們)充當他們的插件,一些增值服務。 – titogeo

+0

在這種情況下,APP2應該生成並維護APP1應爲後續交互提供的令牌.APP2可以驗證相同並傳遞請求 – TheWhiteRabbit