2013-05-01 57 views
0

我使用OmniAuth GEM併成功地使用twitter策略工作。我現在正嘗試設置用戶也可以使用Facebook登錄功能。OmniAuth連接失敗,並與Facebook回調

我知道它正確的重定向到Facebook。我確認訪問Facebook的網站,並重新回到我的回調網址(默認auth/facebook/callback),但在這裏它錯誤。

我有一樣的路線,作爲Twitter的

match "auth/facebook/callback" => "sessions#create" 
    match "auth/twitter/callback" => "sessions#create" 

,但我得到一個錯誤

Faraday::Error::ConnectionFailed SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed

有一件事我覺得非常錯誤的是會話轉儲顯示這個(已經替換了一些鑰匙與XXX/ABC)

_csrf_token: "ABC/ABC=" oauth: {"twitter"=>{"callback_confirmed"=>true, "request_token"=>"XXX", "request_secret"=>"XXX"}} session_id: "XXX"

它在這裏提到twitter,但我試圖登錄Facebook的。可能與我在Twitter上登錄之前登錄並嘗試使用Facebook登錄的事實有關。但我懷疑它,並認爲這與它不適合我的原因有關。

回答

0

嗨您可以使用下面的路線,而不是您

match "auth/:provider/callback" => "sessions#create" 

,改變你的Facebook的設置

AccountSettings =>安全=>安全瀏覽=>禁用

爲連接在截屏。 enter image description here

因此,本地只是禁用和在生產中購買SSL證書它將起作用。

+0

我看不到這些設置,它是一箇舊的截圖?我正在看,我目前將訪問https://developers.facebook.com/apps/ABC/summary,但沒有在任何地方看到「安全瀏覽」選項 – Steve 2013-05-02 18:51:45

+0

這不是developers.facebook.com只是去facebook。 com和改變。因此,通過使用當前的開發應用程序,他們可以安全地瀏覽那些只能訪問應用程序的人。但在生產中,您需要爲您的APP購買SSL。 – 2013-05-03 02:10:06

+0

正確,所以我的應用程序必須連接SSL?這是一個痛苦,如果是這樣的話。會話轉儲還在說twitter。我甚至把facebook作爲第一個提供商。 – Steve 2013-05-03 11:30:35