我正在使用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