![](/img/trans.png)
[英]Oauth2 Login for Facebook, Linkedin and Google Stopped Working with Devise and Omniauth, But Still Works for LinkedIn and Twitter
[英]OAuth (Twitter, Facebook, LinkedIn, etc) on Rails
我想連接到那些提供OAuth API的應用程序(例如fb,twitter)。
是否有一種相對簡單的方法來集成這些API?
我已經成功使用了可以連接到LinkedIn OAuth API的linkedin gem。 但我真的不想安裝gem來處理單個應用程序,其中這些應用程序提供了類似的OAuth API。
自2010年10月以來,有人想出了一款名為OmniAuth的寶石。 它將許多不同的身份提供者打包到一個Rack中間件中。 它特別不處理授權或持久性 - 這取決於您。 它可能是目前最好的選擇,特別是如果你不打算使用經典的用戶名/密碼驗證(盡管OmniAuth可以處理它)。
OmniAuth將處理來自Facebook,Twitter,Google,LinkedIn,37Signals和Github的身份識別。 有關此帖子的完整列表,請參見下文。
由於這是Rack中間件,因此可以將其與Devise和AuthLogic一起使用。 由於它的模塊化,它應該很容易使用純粹的Restful-API Rails / Sinatra應用程序(沒有直接的HTML呈現),這些應用程序可以與流行應用程序交互,而不需要從Devise和AuthLogic中獲取額外的代碼。
入門的最佳教程是為Rails Rumble撰寫的關於快速啟動和運行身份驗證的博客文章: http : //blog.railsrumble.com/blog/2010/10/08/intridea-omniauth
Ryan Bates還有一些關於OmniAuth的Railscast:
截至本帖子,這些是開箱即用的以下提供商(基於https://github.com/intridea/omniauth/tree/dc44c54d80ca0b49d1f63bbbf21165a7515fd41d )
的OAuth / OAuth2用戶:
OpenID登錄:
HTTP基礎:
企業:
其他:
如果您的應用中碰巧擁有現有的用戶身份驗證基礎結構,或者您只是不使用Authlogic (並且不想使用它), OmniAuth可能會幫助您。
https://github.com/intridea/omniauth
以下是一些可以幫助您入門的資源:
http://blog.railsrumble.com/blog/2010/10/08/intridea-omniauth
好吧,fb和twitter都是相當自定義的OAuth版本,所以我認為你最終需要每個應用程序都有一個寶石。 但!
Authlogic為open-id,twitter和facebook提供了一些不錯的插件。
AuthlogicConnect看起來適用於許多網站(Twitter,Facebook,LinkedIn,MySpace,Google,Yahoo)。 我目前正在使用Rails 3上的FB和Twitter。請務必遵循教程,因為有很多事情需要設置。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.