Devise + Facebook + Omniauth回调陷入困境

Ari*_*l T 7 facebook devise omniauth ruby-on-rails-3

我正在使用Devise + Rails 3.这些是我正在使用的宝石:

gem 'devise' (1.3.4)
gem 'mm-devise' (1.2)
gem 'omniauth-facebook' (1.3.0)
gem 'omniauth' (1.1.0)
gem 'oauth2' (0.6.1)
gem 'oa-core' (0.3.2)
Run Code Online (Sandbox Code Playgroud)

我按照devise/omniauth wiki上的设置教程进行了操作.

My routes:

devise_for :users
resources :events
resources :posts
resources :users
root :to => "home#index"

devise_scope :user do
  get "sign_in", :to => "devise/sessions#new"
end

devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks" }
Run Code Online (Sandbox Code Playgroud)

Facebook将我重定向到:

http://localhost:3000/users/auth/facebook/callback. 
Run Code Online (Sandbox Code Playgroud)

我看到请求在浏览器中处于挂起模式.服务器日志显示:

(facebook) Callback phase initiated.
Run Code Online (Sandbox Code Playgroud)

但从未通过这个阶段.我按照教程中的建议设置了回调:

class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController

  def facebook
    ...
  end

  def passthru
    ...
  end
end
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

任何帮助将不胜感激.

非常感谢!

小智 0

这似乎是 JS SDK 在端口 3000 上使用时出现的问题。
尝试在标准端口上运行本地服务器。

sudo rails s -p 80* or *rvmsudo rails s -p 80
Run Code Online (Sandbox Code Playgroud)