Ruby on rails request.env[';omniauth.params';]使用Rails 4的designe_token_auth gem为null

Ruby on rails request.env[';omniauth.params';]使用Rails 4的designe_token_auth gem为null,ruby-on-rails,facebook,omniauth,Ruby On Rails,Facebook,Omniauth,我正在通过API使用Desive_token_auth gem实现一个社交登录功能。但是,我发现下面的gem控制器也有问题,特别是第14行,request.env['omniauth.params']变量中没有任何内容 我的客户端应用程序omniauth.rb配置如下: Rails.application.config.middleware.use OmniAuth::Builder do provider :facebook, 'CCCCCC', 'CCCCCC', info_fields

我正在通过API使用Desive_token_auth gem实现一个社交登录功能。但是,我发现下面的gem控制器也有问题,特别是第14行,request.env['omniauth.params']变量中没有任何内容

我的客户端应用程序omniauth.rb配置如下:

Rails.application.config.middleware.use OmniAuth::Builder do
  provider :facebook, 'CCCCCC', 'CCCCCC', info_fields: 'email,id,name,link, first_name, last_name'
  provider :google_oauth2, 'CCCCCCCCC', 'CCCCCCCCCCCCCC', scope: 'email,profile,plus.me', image_aspect_ratio: 'square', image_size: 48, access_type: 'online', name: 'google'
  OmniAuth.config.full_host = "http://localhost:3000"
end
(localhost:3000是API URL)

以下是我在facebook开发者控制台中的配置:

/背景

/facebook登录

以下是我的API路线:

  namespace :api, defaults: { format: :json } do
    scope :v1 do
      mount_devise_token_auth_for 'User', at: 'auth'
    end
  end
这是服务器命令窗口中的错误输出:

  Parameters: {"code"=>"XXXXXXXXX...XXXXXXXXXX", "state"=>"YYYYY...YYYYY", "provider"=>"facebook"}
Completed 500 Internal Server Error in 1ms (ActiveRecord: 0.0ms)

NoMethodError (undefined method `[]' for nil:NilClass):
  C:/RailsInstaller/Ruby2.2.0/lib/ruby/gems/2.2.0/bundler/gems/devise_token_auth-162967970c95/app/controllers/devise_token_auth/omniauth_callbacks_controller.rb:14:in `redirect_callbacks'
注意:如果我从“api/v1/”名称范围中获取“Users”资源,则错误不同(如果有人认为相关,我可以更新此资源)

如果有人能解释我是如何解决这个问题的,以及我为什么会遇到这个问题,我将不胜感激

我很高兴提供更多关于这方面的信息