我正在使用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)
我在devise / omniauth wiki上关注了setup tutorial。
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
我错过了什么?
任何帮助将不胜感激。
非常感谢!
答案 0 :(得分:1)
您是否尝试过检查是否有失败
class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController
def failure
debugger
...
end
end
答案 1 :(得分:0)
在端口3000上使用JS SDK时,这似乎是一个问题 尝试在标准端口上运行本地服务器。
sudo rails s -p 80* or *rvmsudo rails s -p 80
答案 2 :(得分:0)
您的防火墙设置如何?当端口32768到61000未打开时,我遇到了确切的问题。在Superuser.com的聪明人告诉我发生了什么之后,很长一段时间都遭遇了。 https://superuser.com/questions/479503/why-are-ports-30000-to-60000-needed-when-browsing-the-net