我刚将Omniauth从0.2.6
更新为1.1.1
,以便使用开发者策略。如果环境是开发的,我的登录链接指向/auth/developer
,如果生产,我的/auth/facebook
。
Facebook战略仍然有效。使用开发人员策略时,链接将转到内置的Omniauth登录页面,但在单击登录时返回404.此模型不使用Devise。
路由文件
get "/auth/:provider/callback" => "sessions#create"
.
.
.
get '*a', :to => 'errors#routing'
Omniauth初始化程序
Rails.application.config.middleware.use OmniAuth::Builder do
provider :facebook, [etc.]
provider :developer if Rails.env.development?
end
日志
Started GET "/auth/developer" for 127.0.0.1 at 2012-12-19 16:23:04 +0200
Started POST "/auth/developer/callback" for 127.0.0.1 at 2012-12-19 16:23:10 +0200
ActionController::RoutingError (No route matches "/auth/developer/callback")
答案 0 :(得分:2)
今天在一个新的rails 4应用程序中进入今天,我正在使用这条路线作为解决方法:
match '/auth/:provider/callback', to: "sessions#create", via: [:get, :post]