问题描述
我在 Rails 6 应用程序上设置了 Omniauth 和 Devise,但收到错误“应用程序 ID 无效。 提供的应用程序 ID 看起来不像是有效的应用程序 ID。”单击我的用户登录页面上的“使用 Facebook 登录”按钮时会发生这种情况。此按钮将我路由到 Facebook,这是错误反映的地方。任何想法我可能配置错误?以下是我目前设置的内容。
初始化程序/omniauth.rb:
Rails.application.config.middleware.use OmniAuth::Builder do
provider :facebook,ENV['FACEBOOK_KEY'],ENV['FACEBOOK_SECRET']
end
initializers/devise.rb(带有 Omniauth 设置的部分):
# ==> OmniAuth
# Add a new OmniAuth provider. Check the wiki for more @R_825_4045@ion on setting
# up on your models and hooks.
# config.omniauth :github,'APP_ID','APP_SECRET',scope: 'user,public_repo'
config.omniauth :facebook,"FACEBOOK_KEY","FACEBOOK_SECRET"
.env 文件(实际数字当然在我的本地存储库中):
FACEBOOK_KEY=XXXXXXXXX
FACEBOOK_SECRET=XXXXXXXXXX
routes.rb:
Rails.application.routes.draw do
devise_for :users
# For details on the DSL available within this file,see https://guides.rubyonrails.org/routing.html
devise_for :users,as: 'devise',controllers: { omniauth_callbacks: 'users/omniauth_callbacks' }
resources :rentals
resources :reviews
root "rentals#index"
get "/rentals",to: "rentals#index"
get "/rentals/:id",to: "rentals#show"
resources :rentals do
resources :reviews
end
resources :reviews do
resources :users
end
end
注意:我还尝试在 Facebook 上为开发者创建一个新应用,并尝试将变量从 FACEBOOK_ID、FACEBOOK_SECRET 更改为 APP_ID 和 APP_SECRET。
更新:通过使用终端命令:“export FACEBOOK_KEY=XXXXXX”和“export FACEBOOK_KEY=XXXXXX”以及将 omniauth-facebook gem 降级到 1.4.0 版,我能够产生一个新错误。产生的新错误是:
{
"error": {
"message": "Can't Load URL: The domain of this URL isn't included in the app's domains. To be able to load this URL,add all domains and subdomains of your app to the App Domains field in your app settings.","type": "OAuthException","code": 191,"fbtrace_id": "A2_0VsvlNqWjJFlvVbYxy1H"
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)