2011-03-02 53 views
0

我想爲現有的Rails 2.2應用程序使用Omniauth實現Facebook和Twitter身份驗證。到目前爲止,我一直無法找到關於如何在Rails 2.2中做到這一點的任何建議 - 因此這個問題。我有兩個問題要問 -你如何在Rails 2.2上實現OmniAuth?

  1. 據我所知機架支持Rails是從2.3引入的,我相信Rack是OmniAuth所必需的。那麼甚至有可能在Rails 2.2網站上使用OmniAuth,爲什麼?

  2. 如果可以實施OmniAuth - 你會怎麼做?

回答

1

不能使用默認config.gem 「omniauth」 ...得到它的工作我做了以下內容:手動

1.安裝omniauth

sudo gem install omniauth 

2.在config/environment.rb文件中的Rails初始化程序之前需要

require 'omniauth' 
Rails::Initializer.run do |config| .... 

3.In development.rb文件我已經添加了以下配置

config.middleware.use OmniAuth::Builder do 
provider :facebook, "XXx", "YYYY", :scope => % (email user_birthday publish_stream offline_access) 
end 

,只要你想在這裏....一切應該按預期工作添加爲許多供應商。

+0

感謝您的回答moski - 我現在就試試看。我冒昧地對你的答案做了一些小修改。 – Nikhil 2011-03-02 15:42:11

+0

所以我嘗試了你的建議,我得到了以下錯誤 - config/environments/development.rb:19:'load_environment':未定義的方法'中間件'for#(NoMethodError) The Rails我使用的版本是2.2.2,Omniauth 0.1.6 – Nikhil 2011-03-02 16:00:58

+0

@Nikhil,有沒有什麼好的辦法來解決這個問題?我在同一個問題上磕磕絆絆... – slotishtype 2011-03-23 16:28:46