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