阶段:
我想使用 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
}
}