2010-06-29 24 views
0

我們公司有一個Web應用程序,僅供我們的員工內部使用。我們也有Google企業應用專業版。我們希望這樣做,這樣我們的員工就可以使用他們已有的Google Apps帳戶登錄我們的私人網絡應用程序。Google Apps Premium Edition:使用哪種認證機制?

要求:我們要顯示我們自己的登錄表單。我們不想通過互聯網以純文本形式傳遞電子郵件/密碼。

我們應該使用哪種認證機制來實現此目標?

注意:我們的應用程序是使用Zend Framework(如果有的話)用PHP編寫的。

回答

0

我會研究一下OpenID和您的域用戶的組合(即只允許那些在domain.com上登錄)。

Google API

他們也有PHP和可以利用來做到這一點其他語言庫。

編輯:

Some more info

0

當談到整合谷歌應用程序和內部使用的私有制度,我們只是有兩個選擇。

  1. 將Google用作認證中心。修改私有系統以在Google的服務器上進行身份驗證。我們可以使用OpenID或AuthSub。請查詢http://code.google.com/apis/accounts/docs/OpenID.htmlhttp://code.google.com/apis/accounts/docs/AuthSub.html瞭解更多信息。
  2. 使用專用系統作爲認證中心。在這種情況下,我們必須在專用服務器中實施SAML協議並配置Google Apps的SSO設置。有關更多信息,請參閱http://code.google.com/googleapps/domain/sso/saml_reference_implementation.html

用第一種方法實現SSO比較容易,因爲那裏已經有一堆OpenID庫了。但是,正如您在要求中所描述的那樣,您希望使用自己的登錄表單。所以我想你必須採用第二種方法。

順便說一句,如果您的私人系統必須從Google獲取或設置信息,則可能需要使用OAuth進行授權。有關更多信息,請參閱​​。

0

使用ClientLogin API,它完全符合您的要求:允許您驗證用戶名和密碼。 (鏈接進入配置API DOCO但在這裏不相關)

Pro的:

  • 你用你自己的登錄表單

缺點:

  • 你請勿使用Google Apps獲得SSO,即已經在Apps中的用戶將被提示再次登錄(您沒有提到這是一個需求,但它似乎是一個合理的事情想要)
  • 谷歌不會喜歡你(他們試圖阻止ProgrammaticLogin。
  • 你會得到你需要證明你的用戶偶爾的CAPTCHA測試。

OpenID的具體阻止你展示自己的登錄頁面,因此,如果這是一個硬要求,編程登錄確實是你唯一的選擇。

走SSO的路線讓你做任何事情,但可能有點矯枉過正採取authenticat讓整個域名以更好的方式驗證一個應用程序?如果你真的想要走這條路線,可以看看SimpleSAMLphp。

相關問題