没有路线匹配[POST]“/ auth / facebook / callback”Omniauth-facebook - Devise

时间:2016-02-03 07:43:37

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-4 devise omniauth

几乎相同的问题,但是Get请求被问到(这可能表明他们想在登录后做一些事情 - 但事情分开,实际上我根据Digital Ocean教程和我做的时候配置了我的应用程序来自Google Postman Plugin的请求使用localhost:3000/auth/facebook/callback它给了我以下错误

  

ActionController :: RoutingError(没有路由匹配[POST]   “/ AUTH /实/回调”):

在我的 devise.rb

  config.omniauth :facebook,  'key', 'abc_secret',{ :scope => 'email' }

在我的用户模型

devise :database_authenticatable, :recoverable,
         :trackable, :validatable, :registerable,
         :omniauthable, :omniauth_providers => [:facebook]

在我的 routes.rb

mount_devise_token_auth_for 'User', at: 'auth', :controllers => { :omniauth_callbacks => "callbacks" }

上述路线是根据devise_token_auth定义的。当我执行rake routes它只显示与amniauth相关的路线

                auth_failure  GET    /auth/failure(.:format)                  callbacks#omniauth_failure
                              GET    /auth/:provider/callback(.:format)       callbacks#omniauth_success
                              GET    /omniauth/:provider/callback(.:format)   callbacks#redirect_callbacks
             omniauth_failure GET    /omniauth/failure(.:format)              callbacks#omniauth_failure
                              GET    /auth/:provider(.:format)                 

您可以看到这些都是Get个请求,因此服务器的投诉有意义(像往常一样),但为什么devise没有成功。以及如何实现它

在我的 GemFile

gem 'devise'
gem 'devise_token_auth'

gem 'therubyracer'
gem 'omniauth'
gem 'omniauth-digitalocean'
gem 'omniauth-facebook'

注意:可能值得一提的是,此应用实际上是rails_api application

0 个答案:

没有答案