为了使用开发者策略,我刚刚将 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")

最佳答案

今天在一个新的 rails 4 应用程序中遇到了这个问题,我目前正在使用这条路线作为解决方法:

match '/auth/:provider/callback', to: "sessions#create", via: [:get, :post]

关于ruby-on-rails-3 - 未找到适用于 omniauth 开发人员策略的路线,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13954948/

10-12 05:15