0

阶段

我想使用 Facebook 凭据对 RubyOnRails 应用程序中的用户进行身份验证。

omniauth-facebook在 Gemfile 中使用 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']

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

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

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

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

1 回答 1

0

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

于 2013-12-07T04:46:10.120 回答