您能推薦一些有效的示例嗎?我嘗試Authlogic並設計成功。使用OpenID,Twitter或Facebook進行Rails 3身份驗證
回答
更新 - 2011年6月 - 我一直在使用omniauth gem最近,我認爲這是比使用這一建議的寶石更好的解決方案回答。它可以與Devise很好地合作,並且可以爲您提供一切所需的一切。我創建了一個結合Devise和Omniauth的引擎,並添加了一個控制器來處理回調。我計劃在創業板不少變化而現在我不認爲這是一個穩定的插件,但您可能能夠重用一些在創業板上市代碼:https://github.com/charlotte-ruby/devise_omniauth_engine/blob/master/app/controllers/users/omniauth_callbacks_controller.rb
我最近買了這在Rails 3上工作(有些問題使用OpenID)。我沒有一個可以在github上看到的完整工作示例,但這裏是我正在使用的...所有這些示例都在自述文件中有示例。
Facebook - fbgraph。不像Facebooker,它使用最新的Facebook API。如果你想看一下內部工作原理,那麼源代碼很容易理解。查看自述文件中的身份驗證示例。死簡單。
Twitter - twitter_oauth再次檢查自述認證示例。這也很容易設置。
OpenID的 - rails/open_id_authentication採用紅寶石的OpenID的寶石,但是這個回購協議本身不是寶石,所以你必須將代碼放到你的應用程序或者把你的插件目錄。在自述文件中查看他們的示例,並仔細檢查源代碼以瞭解正在發生的事情(它只有130行代碼)。我修改了一小部分以使其與我的身份驗證插件一起工作,但遇到了一些問題,使其可以同時使用簡單註冊和屬性交換...但您可能能夠使其工作如果rdoc示例適合您的應用程序,那麼它就是開箱即用的。
讓我知道你是否對這些有任何具體問題。當我開始設置時,遇到了幾個我能夠解決的問題。
設計是建立在監督,這是正確的谷歌術語。搜索「監獄長的OpenID」,「典獄長的OAuth」特(Twitter)和http://github.com/britt/facebook-warden-strategy爲Facebook
AuthLogic有一個OpenID擴展。
而且,這可能會幫助:http://www.michaelhamrah.com/blog/2009/05/authlogic-and-openid-on-rails/
我花了大約一個星期試圖(失敗),以獲得open_id_authentication工作。我試圖使用Authlogic和所有相關的gem和插件。我無法按照我想要的方式讓事情工作。 (認證只適用於:action(/:id)路由啓用,但是當啓用時,我的其他控制器將無法工作,因爲插件中的某些內容剝離了參數散列 - 非常令人沮喪)。
但是,我終於能夠使用Devise(http://github.com/plataformatec/devise)和devise_openid_authenticatable(http://github.com/nbudin/devise_openid_authenticatable)獲得OpenID的工作。我可以在兩頁上按照自述文件的內容來完成所有工作,就像我想要的一樣。簡單。直向前。和Rails 3.0兼容。
是的,我無法得到open_id_authentication工作。現在看着設計。 – iJK 2011-04-24 14:05:18
如果您打算使用Facebooker 2,則必須將Rails框架升級到3.0。 Ayeah Games剛剛完成遊戲FanSwarm(在Facebook上)的過程。這不是一件容易的事,但這篇博文可能會給你一些見解。
http://www.ayeahgames.com/blog/bid/55099/The-Horror-Upgrading-to-Rails-3
- 1. Rails 3 - 只使用OpenID身份驗證
- 2. 使用Twitter進行身份驗證
- 3. 使用WP7進行Facebook身份驗證
- 4. 使用signed_request進行facebook身份驗證
- 5. 使用Facebook/Twitter登錄 - 身份驗證
- 6. 使用Twitter和Facebook進行基本身份驗證
- 7. 使用has_secure_password進行Rails身份驗證
- 8. 使用Ember.js和Rails進行Twitter身份驗證
- 9. OpenId或Facebook Connect:如何強制用戶再次進行身份驗證?
- 10. 使用Twitter上的Twitter訪問令牌進行身份驗證(使用iOS Twitter反向身份驗證)
- 11. 使用twitter進行身份驗證tastypie python社交身份驗證返回403
- 12. Facebook應用進行身份驗證
- 13. 用MongoMapper進行Facebook身份驗證
- 14. Rails + Devise + Facebook身份驗證
- 15. Rails 3:使用Devise + Gatekeeper進行身份驗證
- 16. Ruby on Rails中的OpenID身份驗證
- 17. rails 3身份驗證
- 18. Twitter4j和向Twitter進行身份驗證
- 19. 對Twitter API進行身份驗證
- 20. 使用Tomcat領域或Facebook登錄進行身份驗證
- 21. 使用Google或Facebook進行身份驗證
- 22. 通過OpenID,Oauth或Facebook Connect進行身份驗證後重定向回頁面
- 23. 使用OAuth和OpenID進行身份驗證 - DoubleRenderError
- 24. 使用Google API而不是OpenID進行身份驗證
- 25. 使用openid進行身份驗證後會發生什麼
- 26. 使用Owin OpenId身份驗證混合Owin Asp.Net身份Cookie身份驗證
- 27. Facebook OAuth進行身份驗證?
- 28. OpenID身份驗證流程
- 29. Google OpenID身份驗證
- 30. OpenID身份驗證錯誤
謝謝你的回答。您是否使用任何通用身份驗證插件(如authlogic,devise,restful_authentication),或者您是否構建了自己的「標準身份驗證」解決方案? – 2010-08-16 12:41:44
我只是做了我自己的簡單認證插件。我並不需要設計和authlogic提供的所有功能。我查看了兩者的源代碼,並挑選了一些我喜歡用於我自己的角色和身份驗證解決方案的東西。雖然我不喜歡重新發明輪子,但當我自己編寫代碼時(從其他解決方案中汲取靈感的同時),我似乎總能學到更多東西。此外,如果我需要擴展它,我不需要通過其他人的資源在一週內挖掘出來。我正在努力將FB/Twitter/OpenID的東西變成一個軌道引擎。如果我在接下來的幾天內做到這一點,我會在這裏發佈。 – johnmcaliley 2010-08-17 01:10:10
這將是優秀的,謝謝:) – 2010-08-17 07:33:14