ruby-on-rails-3 - 没有找到 omniauth 开发者策略的路线

标签 ruby-on-rails-3 omniauth

我刚刚将 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/

相关文章:

ruby-on-rails - 在 Ruby on Rails 3 中使用小数

ruby-on-rails-3 - 在请求规范中 stub 身份验证

ruby-on-rails - Omniauth-facebook 登录不工作

ruby-on-rails - 为什么Omniauth重定向到/auth/failure而不是/auth/:provider/failure?

ruby-on-rails - 搜索显示祖先的 child ?

ruby-on-rails - 为 Rails 3 中的现有数据库模式自动生成脚手架

ruby-on-rails-3 - ActiveRecord查找全部不按ID排序吗?

ruby-on-rails - 设计 - 将 OAuth 与现有帐户合并

ruby-on-rails - yahoo、google、facebook策略在各种环境下如何使用和配置omniauth?

ruby-on-rails - rails : How do I write a spec for a route that does a redirect?