2012-05-01 87 views
0

我知道有一個使用openid的google-apps策略。而且我知道可以配置Omniauth的通用openid策略來與常規(非應用)谷歌賬戶一起工作。是否有使用openid的Google登錄的omniauth策略?

我也知道有一個谷歌oauth戰略。但對於基本身份驗證,無需向Google註冊應用程序,因爲openid可讓您在沒有任何此類先決條件的情況下進行身份驗證。 (並且Google現在註冊一個應用的形式已經超過了500個。)

所以我在尋找的是一個omniauth策略,它可以爲非應用賬戶的google openid登錄。應該非常簡單,我可能只是建立它。但我想我會問在這裏是否有人首先知道一個。

回答

3

沒有必要爲此定製策略。如果您希望能夠擁有一鍵式Google登錄按鈕,則有兩種選擇:

首先,您可以通過預先提供OpenID標識符來鏈接到它。建立正常的OmniAuth OpenID的策略,然後添加這樣的事情你的意見:

<a href='/auth/open_id?openid_url=https://www.google.com/accounts/o8/id'>Sign in with Google</a> 

另外,您可以配置使用OmniAuth :: OpenID的特定於谷歌一個OpenID策略。這實際上是從README一個例子:

use OmniAuth::Builder do 
    provider :open_id, :name => 'google', :identifier => 'https://www.google.com/accounts/o8/id' 
end 

在這種情況下,只需向用戶發送/auth/google

+0

這很簡單。我仍然認爲在這個配置中有一個寶石是有價值的,因爲這是一種常見的情況,甚至不需要理解openid是正確的技術就可以使用。但是現在我會陷入同樣的​​陷阱,這阻止了其他任何人構建這個寶石。 – Leopd

0

我個人使用devise和omniauth。查看devise OmniAuth Overview它顯示瞭如何使用omniauth爲谷歌和雅虎設置openID。

+0

感謝關於如何配置谷歌openid策略的指針。我正在尋找一些相當具體的東西,這是一個omniauth戰略,作爲一個自動完成此任務的寶石。 – Leopd