我想爲我的應用程序使用OmniAuth(0.2.6)策略。架構是Rails 2.3.10,Rack的版本是1.1(OmniAuth需要該版本或更高版本)。發生的問題是Rails無法識別我的重定向到「/ auth/provider」。實際的錯誤信息是「沒有路由匹配」/ auth/casport「,即使這個錯誤被拋出,代碼似乎也會執行超過這個錯誤:」request.env ['omniauth.auth']「,我很肯定的表示它不能識別env哈希的「omniauth.auth」鍵我有一種感覺,OmniAuth沒有被正確加載我已經測試了與Mongrel和Webrick相同的策略和代碼庫,我也得到相同的錯誤信息如何正確使用OmniAuth和Rails 2
這裏是我的OmniAuth初始化(配置/初始化/ omniauth.rb):
ActionController::Dispatcher.middleware.use OmniAuth::Builder do
provider :casport, :setup => true
end
我肯定有面向auth/casport /安裝和認證/ casport地方路線/ callback。
我也嘗試過這種做法:How do you implement OmniAuth on Rails 2.2?
config.middleware.use OmniAuth::Builder do
provider :casport, :setup => true
end
通過將中間件代碼在config /環境/ development.rb文件。
有沒有人有任何想法,我可能會做錯嗎?謝謝!
編輯:我也試過這種方法Has anyone used omniauth with rails 2.3.8?
ActionController::Dispatcher.middleware.use OmniAuth::Strategies::Casport = {
:setup => true
}
,並返回讀取錯誤:「NoMethodError:未定義的方法 '新' 的#Hash ...
編輯2:我已經升級到Rails 2.3.10,因爲OmniAuth與Rails 2.3.4不兼容