【问题标题】:Missing client_id parameter.on heroku rails 6Heroku rails 6 上缺少 client_id 参数
【发布时间】:2020-12-17 17:38:24
【问题描述】:

我正在尝试使用omniauth 向rails 6 应用程序验证用户。它在本地工作,但是当我部署到 heroku 时,我收到一个错误,说无效的 ID。

我环顾四周,发现一篇关于将 gem 从仅 omniauth-facebook 更新为 gem 'omniauth-facebook'、'1.4.0' 的帖子,所以我这样做了,现在它只是返回主页而无需登录在本地和 heroku 上我收到此错误:

{
   "error": {
      "message": "Missing client_id parameter.",
      "type": "OAuthException",
      "code": 101,
      "fbtrace_id": "AYAEC-EyMzZgNXYS2L9klkw"
   }
}

我在 credentials.yml 文件中设置了我的凭据:

facebook:
  facebook_client_id: 1234123412341234
  facebook_client_secret: 12345123451234512345

我的 devise.rb 文件是:

config.omniauth :facebook, Rails.application.credentials.dig(:facebook, :facebook_client_id),
  Rails.application.credentials.dig(:facebook, :facebook_client_secret), scope: 'public_profile,email', info_fields: 'email, first_name, last_name, picture'

如果您需要查看任何其他代码,请告诉我,我会编辑问题。

【问题讨论】:

  • 我会尝试在您的凭证文件和 devise.rb 文件中将 facebook_client_id 替换为 client_idfacebook_client_secret 替换为 client_secret
  • 我试过了,结果还是一样。

标签: ruby-on-rails heroku omniauth


【解决方案1】:

我认为您的 credentials.yml.gitignore 文件中,请尝试在 heroku config vars 中添加凭据。

【讨论】:

  • 我添加了 client_id 和 client_secret 但我仍然遇到同样的错误。
  • 它在本地工作是否完全正常,还是您有任何错误?
  • 您是否在 ENV 变量中添加了凭据?像 ENV['FACEBOOK_CLIENT_KEY']
  • 你需要像这样config.omniauth :facebook, ENV['FACEBOOKCLIENT_KEY'], ENV['FACEBOOK_CLIENT_SECRET']devise.rb中添加ENV变量,你也可以分享你正在关注的视频的链接吗?
  • 这里有一些可能有用的资源dev.to/nkemjiks/…medium.com/@chinnatiptaemkaeo/…
猜你喜欢
  • 2021-11-05
  • 1970-01-01
  • 2014-05-31
  • 2017-01-15
  • 2023-03-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-14
相关资源
最近更新 更多