缺少client_id参数

时间:2013-06-10 15:04:58

标签: ruby-on-rails-3.2 omniauth

阶段

我想使用Facebook凭据验证RubyOnRails应用程序中的用户。

我在Gemfile中使用omniauth-facebook gem,但没有devise

gem 'omniauth-facebook'

配置1

我配置了omniauth初始化程序(`config / initializers / omniauth.rb):

Rails.application.config.middleware.use OmniAuth::Builder do
  provider :facebook, '123456789098765', '12345678909876543212345678909876'
end

但是当我请求/auth/facebook时,它会回复:

{
   "error": {
      "message": "Missing client_id parameter.",
      "type": "OAuthException",
      "code": 101
   }
}

配置2

我已经在其他论坛中读到我应该将这些参数作为环境参数传递,所以我尝试修改omniauth初始化器替换这一行:

  provider :facebook, ENV['FACEBOOK_KEY'], ENV['FACEBOOK_SECRET']

然后在终端I传递这个值:

$ export FACEBOOK_KEY=123456789098765
$ export FACEBOOK_SECRET=12345678909876543212345678909876
$ rails s

但是当我再次请求/auth/facebook时,它会回复:

{
   "error": {
      "message": "Missing client_id parameter.",
      "type": "OAuthException",
      "code": 101
   }
}

1 个答案:

答案 0 :(得分:0)

这是一个老问题,你可能已经想到了,但我遇到了同样的问题。只需在http://developers.facebook.com/输入http://localhost:3000,然后使用localhost实际访问它,而不是像我一样访问http://0.0.0.0:3000