我正在使用omniauth在我的导轨应用程序,我有facebook和twitter按钮的标志,当我把facebook放在网站提交localhost:3000,所有工作,但是当我上传网站到heroku并更改网站的网址到sitename.heroku.com,twiiter登录按钮工作,但Facebook按钮不工作...omniauth与脸书不工作在生产
3
A
回答
9
您可能需要给我们更多信息(你是什么意思,Facebook按钮不工作?你是否收到错误信息?如果是,什么?你的日志说什么?)
但是,这是你的问题有一个很好的机会:有一个使用omniauth facebook authentic的已知问题关于heroku。您需要在config/initializers/omniauth.rb文件中添加对SSL证书文件的明确引用。改变你的Facebook的配置线,包括像这样的“client_options”哈希:
provider :facebook, 'YOUR_APP_ID', 'YOUR_SECRET_KEY',
{:scope => 'PERMISSION_1, PERMISSION_2, PERMISSION_3...', :client_options => {:ssl => {:ca_file => '/usr/lib/ssl/certs/ca-certificates.crt'}}}
3
如果你想测试本地主机上,并保持您的生产环境中工作,您可以:
1 - 创建一个新的Facebook应用程序仅用于开发目的
2 - 设置站点URL字段设置为:http://localhost:3000/
3-接下来编辑/config/initializers/omniauth.rb
文件以匹配以下内容:
OmniAuth.config.logger = Rails.logger
Rails.application.config.middleware.use OmniAuth::Builder do
if Rails.env.development?
OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE
provider :facebook, 'DEV_APP_ID', 'DEV_APP_SEVRET'
else
provider :facebook, 'DEPLOY_APP_ID', 'DEPLOY_APP_SECRET'
end
end
最后重新启动rails server
,你应该可以通过你的新应用程序登录。
相关问题
- 1. Devise + Omniauth不能在生产中工作
- 2. Omniauth与脸谱tokken
- 3. Omniauth不与英雄工作
- 4. 用脸书authlogic和omniauth-facebook登录
- 5. 谷歌auth2脸书登录不工作
- 6. OmniAuth脸谱作为弹出
- 7. ckeditor_rails不工作在生产
- 8. 产生不工作
- 9. 苹果推送通知不在生产证书中工作
- 10. 克伦工作与每当不在生产中工作
- 11. @font脸不工作
- 12. Fontello不生产工作
- 13. FCM生产APN不工作
- 14. 耙产生不工作
- 15. 脸书上的脸书描述不在Facebook墙上显示
- 16. 不能使用脸书登录与Firebase
- 17. 与脸书合并页面
- 18. Ruby on Rails omniauth-facebook在开发中工作,但在Heroku上的生产失败
- 19. 脸书连接不起作用
- 20. 脸书相册创作效果不佳
- 21. 脸书连接不起作用
- 22. CKEditor gem不能在生产中工作
- 23. notify_observers在生产环境中不工作
- 24. CoffeScript不能在Rails生产中工作
- 25. JavaScript重写不生产在工作
- 26. 我的returnURL在生产中不工作
- 27. Omniauth脸谱 - 取回朋友
- 28. 用脸书登录并不能正常工作
- 29. 使用脸书登录不能正常工作
- 30. MS Access Connection在本地工作但在生产中不工作
我认为你已经将Facebook应用程序设置从localhost:3000更改为Heroku站点的实际地址?您不能在本地测试和公共生产中使用相同的设置。 – 2011-05-12 12:48:05
我不使用相同的设置,我已经从localhost:3000更改Facebook应用程序设置到我的应用程序heroku地址 – gal 2011-05-12 12:57:51
*地址.................... – gal 2011-05-12 12:58:15