ルーティングの問題でした。
Omniauthが404エラーページを検出することによって動作します:
それがルート/ AUTHと一致した場合に/:プロバイダは、それは、要求は、プロバイダ
に送信キャッチ...しかしcomfortable-mexican-sofa cms(のようなrefineryおよび他のもの)は、すべての経路をキャッチしているため、omniauthが検出できる404エラーが返されませんでした。
快適・メキシカン・ソファ場合
、それは代わりに次のように行くべき正しいomniauthパスの
NoMethodError in CmsContentController#render_html
undefined method `gsub!' for nil:NilClass
なっ"cms_path"=>"auth/github"
を通過:
Started GET "/" for 127.0.0.1 at 2011-07-25 22:27:26 +0200
Processing by HomeController#index as HTML
Rendered home/index.html.haml within layouts/application (29.5ms)
Completed 200 OK in 44ms (Views: 42.8ms | ActiveRecord: 0.0ms)
Started GET "/auth/github" for 127.0.0.1 at 2011-07-25 22:27:35 +0200
MONGODB gitwatch_dev['users'].find({:provider=>"github", :uid=>1573})
Started GET "/auth/github/callback?code=4334bab983hd5fec19dd" for 127.0.0.1 at 2011-07-25 22:27:36 +0200
Processing by SessionsController#create as HTML
Parameters: {"code"=>"4334bab983hd5fec19dd", "provider"=>"github"}
Redirected to http://localhost:3001/
Completed 302 Found in 255ms
MONGODB gitwatch_dev['users'].find({:_id=>BSON::ObjectId('4e23114b1d41c80f180005b2')})
Started GET "/" for 127.0.0.1 at 2011-07-25 22:27:39 +0200
Processing by HomeController#index as HTML
Rendered home/index.html.haml within layouts/application (415.6ms)
Completed 200 OK in 890ms (Views: 428.6ms | ActiveRecord: 0.0ms)
を私の場合は解決策は次のようです次のようになります。
in app/controllers/errors_controller.rb
class ErrorsController < ApplicationController
def error
render :file => "#{Rails.root}/public/404.html", :status => 404, :layout => false
end
end
設定で/ Omniouth最後のルートの後に...下
match '/auth/:provider' => 'errors#error'
に追加routes.rbを
`match "/auth/:provider/callback" => "sessions#create"`
おかげでFederico Gonzalez
へとOleg Khabarov
Iに行きますこれが他の誰かを助けることを望みます;-)
bye Luca G. Soave