2016-03-01 28 views
0

我正在更新爲許多應用程序提供集中身份驗證的自定義門戶應用程序。我想改進門戶以支持SAML和OAuth2,同時爲用戶提供良好的用戶體驗。服務提供商之間的單一登錄

在SAML談論我有(但目前它沒有使用SAML):


/--------\ 
| Portal | 
| IdP | 
\--------/ 
    | 
    |-------------\ 
    v    v 
/------\  /------\ 
| App1 |  | App2 | 
| SP |  | SP | 
\------/  \------/ 

爲App1和App2的所有請求得到定向到門戶網站的認證。一旦通過身份驗證,它們就會被髮送到門戶的着陸頁。沒錯 - 門戶網站。不是應用程序。

我期待在改變了以上:


/--------\ 
| OpenAM | 
| IdP | 
\--------/ 
    | 
    |-------------\---------------\ 
    v    v    v 
/------\  /------\  /------\ 
|Portal|  | App1 |  | App2 | 
| SP |  | SP |  | SP | 
\------/  \------/  \------/ 

我們的目標是,我想解耦認證的門戶網站。我想爲此使用OpenAM,並將Portal轉換爲SP,而不是IdP。我也在考慮做SP發起的SSO,一旦驗證完成,用戶就會將用戶導回到SP。

這就是我的計劃。 :D

我的問題是 - 如果用戶點擊門戶(SP)上的鏈接到App1或App2(也是SP),那麼我可以直接在那裏指定它們而無需再次登錄?我以前只接觸過SSO的SP端,而IdP端對我來說是新的。這可以通過(希望)SAML和OAuth2完成嗎?如果是的話,你有什麼建議可以解決這個問題嗎?

注意:用戶在上述場景中登錄到IdP以進行門戶訪問。

謝謝!

+0

在上面的情況下,當用戶點擊門戶中的鏈接時。用戶在第一次訪問門戶時是否已經通過了IDP的身份驗證? –

+0

@StefanRasmusson - 是的。我希望這是一個簡單的答案。 :)編輯指定此。 – Rontologist

回答

1

所以,據我所知,問題是:如果用戶已經在IDP第一次訪問門戶網站時被認證,他將不得不再次進入app1或app2認證。 Awnser沒有。這是SSO背後的思想。訪問第一個SP時登錄一次,然後您可以訪問所有SP,而無需再次進行身份驗證。通常這會跟蹤在用戶瀏覽器上使用Cookie。

+0

太棒了,謝謝。這是我所希望的答案。 – Rontologist