繁体   English   中英

错误的facebook登录回调URL端口,使用rails devise omniauth

[英]Wrong facebook login callback url port, using rails devise omniauth

我可以在本地使用Rails应用程序,并使用rails devise和omniauth与Facebook连接,但是当我要部署它时,facebook回调端口是错误的。 单击“用facebook登录”后,当我可以输入我的登录名时,它会将我重定向到facebook,然后像这样回调我的应用程序:

http://myapp.cleverapps.io:8080/users/auth/facebook/callback?code=thelongcode#_=_

但它说“糟糕!Google Chrome无法连接到myapp.cleverapps.io:8080”同时,当我打电话时

http://myapp.cleverapps.io/users/auth/facebook/callback?code=thelongcode#_=_

有用。

我不明白为什么它可以在localhost:3000而不是在我的部署环境中工作。

为什么omniauth将8080添加到URL? 例如,我可以在此行将其设置为80吗?

devise_for :users, [...] :controllers => {[...] :omniauth_callbacks => "users/omniauth_callbacks"}
  1. 登录https://developers.facebook.com
  2. 点击菜单“应用”,然后从下拉菜单中点击您的应用。
  3. 点击“设置”。 编辑您的“网站网址”:即http://myapp.cleverapps.io/ (也可以尝试http://myapp.cleverapps.io:8080/ ,尽管这种选择可能是当前设置,并且可能是问题)
  4. 编辑您的“移动站点URL”:即http://localhost:3000/

使用这些更新的设置,您应该能够在开发和生产中成功使用Facebook OmniAuth登录。

此外,再次检查您的配置是否允许在生产环境中使用Facebook ID和机密(存储在.ENV文件中)(可以在/config/initializers/devise.rb中设置)

即devise.rb

  if Rails.env == 'development' || Rails.env == 'production'
      config.omniauth :facebook, ENV['FACEBOOK_ID'], ENV['FACEBOOK_SECRET']
  end

即.env

FACEBOOK_ID=123456789876543
FACEBOOK_SECRET=1aa11a111111a1aaa1a1aa11aaa11a11

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM