2011-07-25 39 views
0

我面臨一個奇怪的問題。Rails 3.1與Facebook的OmniAuth - 失敗,但不發送錯誤

我跟着這個教程:https://github.com/plataformatec/devise/wiki/OmniAuth:-Overview

它與我的本地機器上完全相同的代碼(與APP_ID和祕密修改)完美的作品。

但是當我測試了另一臺服務器上,我不能讓與Facebook信息登錄...

我點擊鏈接(<%=的link_to '與FB註冊',user_omniauth_authorize_path(:臉譜)% >),然後我重定向到Facebook,詢問我是否允許應用程序,最後我重定向到我的網站。

但我被重定向到/ user/sign_in!並且沒有創建用戶從Facebook檢索到的記錄。

日誌給我:

入門使用 「/用戶/認證/臉譜」 爲192.168.1.254在2011-07-25 19時06分11秒0400

入門使用「/用戶/ AUTH /實/回調?代碼= grV09GQr [...] BbcM-mxklOu5E」

爲192.168.1.254在2011-07-25 19時06分12秒0400處理由 用戶:: OmniauthCallbacksController#失敗作爲HTML參數:

{ 「代碼」=> 「grV09GQrqjDepasyQpVhqSg0FINlr4h9 [...] sSUooMrBRxBbcM-mxklOu5E」}

重定向到http://mysite.com/users/sign_in完成302 1ms的

有人發現有一個想法? 很多謝謝

回答

0

您正在獲取登錄頁面,因爲這是來自Facebook的錯誤發生時omniauth gem的默認行爲。你從Facebook被拒絕。如果您要解碼返回的URL中的代碼,則可能會找出原因。如果錯誤處理程序這樣做會很有幫助。

隨着臉書連接你必須把你的網站的網址在facebook配置。它是配置中的畫布URL或網站url/domain。如果你沒有正確設置,那麼Facebook會拒絕你的退貨請求。

+1

我發現這個問題,因爲我有一個類似的錯誤。原來我沒有正確輸入我的api-key。確保您的密鑰和密碼都正確輸入到您的配置中。請注意,我上面提到的意思是,對於每個放置具有不同域的服務器的地方,您都需要一個不同的Facebook應用程序(即localhost vs. example.com vs test.com)。如果你爲你的測試網站做了test.example.com,那麼在facebook上有一個地方 –

相關問題