阶段:
我想使用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
}
}
答案 0 :(得分:0)
这是一个老问题,你可能已经想到了,但我遇到了同样的问题。只需在http://developers.facebook.com/输入http://localhost:3000
,然后使用localhost实际访问它,而不是像我一样访问http://0.0.0.0:3000
。