2015-06-17 73 views
0

單點登錄(SSO)是多個相關但獨立的軟件系統的訪問控制的屬性。有了這個屬性,用戶就可以登錄一次,並獲得對所有系統的訪問權限,而不會再提示每個系統都重新登錄。 (從wikipedia單登錄認證的多服務(單點登錄)

現在

,我有更多的Web服務:

  • www.a.com
  • www.b.net
  • www.c.org
  • WWW。 n.it

與更多登錄頁面(和註銷,註冊帳戶,恢復密碼...頁面),例如:

  • www.a.com/login.php
  • www.b.net/login.asp
  • www.c.org/login
  • www.n.it/login

所有這些頁面都從同一個數據庫驗證用戶身份。

我有一個夢想,一個認證服務,例如:

  • www.a.com/login.php - >重定向到 - > auth.acme.com/login
  • WWW。 b.net/login.asp - > redirect to - > auth.acme.com/login
  • www.c.org/login - > redirect to - > auth.acme.com/login
  • www.n.it/login - >重定向到 - > auth.acme.com/login

我正在嘗試不同的解決方案,例如。 SAML協議與SimpleSAMLphp,但對我來說SAML就像建立一個核反應堆來驅動一個燈泡。 它似乎是我過度設計的東西,應該很簡單:單一登錄(報價I Hate SAML!)。

問題

我會的「單點登錄」架構,從開始的東西(例如框架,協議棧),簡單。有一些像「SAML for dummies?」

回答

2

既然你顯然同時控制應用以及認證系統(這樣你就不會依賴於誰已經使用SAML的合作伙伴),你正在尋找SAML的一個簡單的版本,我建議你開始尋找輸入到OpenID Connect:http://openid.net/specs/openid-connect-core-1_0.html

這是一種基於REST/JSON而不是XML/XMLDsig/SOAP構建的現代SSO協議,就像SAML一樣,並且已有許多實現可用於各種環境,比SAML實現更易於部署和管理:http://openid.net/developers/libraries/

OpenID Connect基本上就是「SAML for dummies」。您可能自己想出的任何SSO系統都不會太簡單,並且不能從標準實施中受益。