2011-12-09 83 views
10

我試圖讓Facebook驗證通過omniauth Facebook的與設計工作,我在這裏跟着指示:https://github.com/plataformatec/devise/wiki/OmniAuth%3a-Overview設計與omniauth Facebook的「憑據無效」

當我跟隨與Facebook聯繫我的登錄我被重定向到Facebook登錄並接受請求的權限。

我再帶回/用戶/ sign_in並顯示錯誤消息「無法從Facebook授權你,因爲‘證書無效’」

在服務器上尋找記錄重定向來自「/用戶/認證/ facebook /回叫?代碼= [長文本字符串]「正在處理與用戶:: OmniauthCallbacksController#失敗,而不是用戶:: OmniauthCallbacksController#Facebook,因爲我會預料如果它的工作。

任何建議,爲什麼發生這種情況,以及如何解決它非常讚賞。

+0

面對同樣的問題,只有*一些*的用戶得到錯誤。 – amitkaz

+0

更新omniauth後,我遇到了同樣的問題,但只在非隱身模式下使用chrome。我自己的Facebook用戶在我的日常Chrome中被拒絕,儘管我試圖清除它的cookies等。Safari,FF和鉻無痕認證工作正常。 (我不知道其他用戶是否有這個問題,因爲我還沒有發佈) –

回答

0

facebook從oauth到oauth2的協議改變 現在將憑證(id,token,name ..)打包到一個hash中的主要區別。你應該解析。

+1

防止omniauth-facebook工作嗎? – TalkingQuickly

+1

根據omniauth-facebook github頁面,支持oauth2 – TalkingQuickly

4

好的,我有同樣的問題。究其原因,我原來,我在配置/初始化/ devise.rb定義這一行:

config.omniauth :facebook ... 

應用程序ID和應用程序進行了祕密爲我的測試Facebook應用程序定義,併爲生產企業之一。修復這些ID:現在解決了問題。

+0

你是如何修復這些id的? – sufleR