2012-10-09 104 views
1

我有一個CodeIgniter 2.1內部Web應用程序,它使用簡單的共享密碼(無用戶名)進行身份驗證。現在是抽出時間並理想地使用我們公司的Google Apps帳戶中的Single Sign On來驗證特定內部用戶的時機,並且將來允許外部用戶使用他們的Google/Twitter/Facebook帳戶進行身份驗證。CodeIgniter Web應用程序SSO,使用OAuth2? SAML?兩者都不?

所以問題是,我應該從哪裏開始實現我在上面尋找的東西?

我認爲我需要仍然維護user_ids和電子郵件的數據庫,允許誰可以使用該web應用程序,即使Google或其他人將驗證他們的身份?

礦似乎是一個相當基本的使用情況,但我已經在縮略詞的海洋已經失去了這一個

回答

2

是的,我會用這個庫http://getsparks.org/packages/oauth2/versions/HEAD/show

谷歌走的是OAuth2用戶提供了圖書館似乎支持。您將獲得來自谷歌的OAuth令牌的用戶的電子郵件一樣顯示在代碼

$user = $provider->get_user_info($token); 

您需要註冊或某種邀請當前用戶與此新系統掛鉤,一旦它已準備就緒。

+0

從它看起來像如果一個「代碼」是不是第一次收到它不會得到一個$標記的網站上例如控制器? '!$ this-> input-> get('code')',我有什麼鏈接或信息來提示用戶獲取「代碼」? – xref

+0

您不必擔心這一點。圖書館有這些提供者的所有端點https://github.com/philsturgeon/codeigniter-oauth2/blob/master/libraries/Provider/Google.php#L26 – woloski

0

我會遠離SAML,除非你有強烈的使用它的理由。它是一個非常有能力的協議,它不僅提供了身份驗證,還提供了其他類型的安全聲明。但所有這些權力都具有相當的複雜性。 OAuth比較簡單。我在過去使用過SimpleSAMLphp,效果很好。但它不像整個Web應用程序都是一個庫。

相關問題