Omniauth-facebook Rails 6:无效的应用程序ID

我正在使用Rails 6.0.0Devise 4.7.1和和omniauth-facebook 5.0.0

  • 我能够通过omniauth-twitter使omniauth在Twitter上成功工作(我注意到当前恰好使用oauth 1.0而不是oauth 2.0)。
  • 我还能够通过使用omniauth-google-oauth2的{​​{1}}来使omniauth在google上成功使用。
  • 我与oauth 2.0的运气不同(碰巧使用omniauth-facebook)。

oauth 2.0文件中是主要配置,以便为每个提供程序指定initalizers/devise.rb,然后指定providerapp_id。这是我所拥有的(当然还有一个占位符,用于表示真实的app_id和secret):

app_secret

同样,它在Twitter和Google上也可以正常工作。但是,当我单击“使用Facebook登录”链接时,它会在Facebook上显示:

Omniauth-facebook Rails 6:无效的应用程序ID

我很沮丧,因为我知道自己正确输入了config.omniauth :facebook,"my-app-id","my-app-secret-key",scope: "email" config.omniauth :twitter,"my-key" config.omniauth :google_oauth2,"my-client-id","my-client-seceret" 。该应用程序的状态为“实时”,而不是“开发(要求我提供隐私权政策网址)”。

由于app ID可以正常工作,这使我想知道提供者端(facebook)是否出了问题,或者omniauth-twitter gem出了问题?当然:我永远不会排除我遗漏了明显的东西。

我正在为我的应用程序使用omniauth-facebook(现在看来必须要使用https才能使用来自Facebook的此服务),因此也不是问题。

lzdfkwdz 回答:Omniauth-facebook Rails 6:无效的应用程序ID

我能够通过简单地更改来解决此问题:

Rails.application.config.middleware.use OmniAuth::Builder do
    provider :facebook,ENV['APP ID'],ENV['APP SECRET']
end 

Rails.application.config.middleware.use OmniAuth::Builder do
    provider :facebook,'APP ID','APP SECRET'
end 

本文链接:https://www.f2er.com/3126895.html

大家都在问