7

我正在使用 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)

我按照设计/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" }

Facebook 将我重定向到:

http://localhost:3000/users/auth/facebook/callback. 

我看到请求在浏览器上停留在挂起模式。服务器日志显示:

(facebook) Callback phase initiated.

但永远不会通过这个阶段。我按照教程中的建议设置了回调:

class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController

  def facebook
    ...
  end

  def passthru
    ...
  end
end

我错过了什么?

任何帮助将不胜感激。

非常感谢!

4

3 回答 3

1

您是否尝试过检查是否有故障

class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController

  def failure
    debugger
    ...
  end
end
于 2016-02-02T23:23:16.700 回答
0

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

sudo rails s -p 80* or *rvmsudo rails s -p 80
于 2012-07-19T02:00:15.503 回答
0

你的防火墙设置如何?当端口 32768 到 61000 未打开时,我遇到了这个确切的问题。在 Superuser.com 的聪明人告诉我发生了什么事之后,很长一段时间都遭受了这种痛苦。https://superuser.com/questions/479503/why-are-ports-30000-to-60000-needed-when-browsing-the-net

于 2012-09-25T20:44:32.423 回答