2

我正在尝试实施 Facebook 身份验证,但我被卡住了。我完全按照本指南

https://www.crondose.com/2016/12/guide-integrating-omniauth-rails-5-facebook-login-feature/

并得到这个错误

我,[2017-11-07T00:55:47.114884 #12099] 信息——omniauth:(facebook)回调阶段已启动。E,[2017-11-07T00:55:47.489634 #12099] 错误 --omniauth: (facebook) 身份验证失败!invalid_credentials: OAuth2::Error, :

脸书 API 版本v2.10

我正在使用ruby 2.4.0Rails 5.1.4

4

1 回答 1

0

您可能会收到此错误,因为您的App IDApp Secret不正确。确保您的初始化程序具有正确的 Facebook API 凭据:

# config/initializers/devise.rb
config.omniauth :facebook, <your App Id>, <your App Secret>,
  callback_url: "http://localhost:3000/users/auth/facebook/callback"

另一个提示: Facebook 现在要求您指定要从 Facebook 返回的字段。换句话说,如果您想要 Facebook 用户的电子邮件地址,则需要专门请求它。在过去,它默认返回。scope您可以使用设计配置中的参数来请求字段。

例如,要请求 Facebook 用户的电子邮件和姓名,请执行以下操作:

# config/initializers/devise.rb
config.omniauth :facebook, <your App Id>, <your App Secret>,
  callback_url: "http://localhost:3000/users/auth/facebook/callback",
  scope: 'email,name'
于 2017-11-06T15:14:42.050 回答