2013-01-11 30 views
1

爲了讓用戶使用Facebook進行註冊和登錄,我在一個Rails中使用了authlogic_oauth2 gem(v.1.1.2)以及oauth2(v.0.0.10)和authlogic(2.1.6) 2.3申請。Rails 2.3的Authlogic_oauth2替代方案

一切運作良好超過2年,但從一個月左右,用戶無法登錄或註冊與Facebook了。

我不知道發生了什麼,但我沒有改變任何東西,所以似乎Facebook改變了他們的事情,authlogic_oauth2似乎無法工作了。

這可能是解決問題並帶回用戶登錄/註冊Facebook的最簡單方法? 有沒有更好的寶石來幫助工作?

由於提前, 奧古斯托

回答

0

最常見的一個是設計出與Omniauth打得很好。我不確定與軌道2的兼容性,但也許有時間升級...

+0

謝謝,但我真的不能留下authlogic,應用程序是非常複雜的,重寫很多代碼是不是一個選項:( – Augusto

+0

哎呀!Authlogic被遺棄了很久以前,所以它似乎懷疑你會發現任何東西最多你可能需要fork auth_oauth2並修復它,你會得到什麼錯誤? – charlysisto

+0

原來,Omniauth可以和Authlogic一起工作!沒必要升級這個時間,耶!:) – Augusto

1

我懷疑你可能在不知不覺中導致loginlogout失敗,在你的應用程序中做了一些改變。

根據您所做的更改,問題的一個可能原因可能是從http://yoursite.comhttp://www.yoursite.com的重定向。檢查提到this問題的博客。

解決的辦法是在environment.rb中設置config.action_controller.session [:domain] ='.YOURDOMAIN.COM'(確保以。開頭)。這將使cookies用於www.yourdomain.com和yourdomain.com(以及任何其他子域)。

我還建議您檢查不同環境下的登錄行爲:DevelopmentProduction,然後清楚地檢查log文件中的輸出。

這可能會幫助您調整問題域,因爲您提到您的代碼以前工作。

更新:

有Facebook的OAuth的更新,並應提到的是所有的應用程序需要更新到OAuth的最新版本。

所以這是您的問題的可能原因。

它概括要求所有網站和應用程序在10月1遷移到OAuth 2.0,處理signed_request參數,並獲得SSL證書

檢查下面的鏈接計劃:

http://developers.facebook.com/blog/post/497/

謝謝!

+1

我沒有改變任何東西,我確信這一點。我能想到的唯一原因是Facebook改變了一些關於oatuth方法的東西,我的寶石已經過時了......但我會嘗試你的建議! – Augusto

+0

我也更新了我的答案。 PLZ檢查它。 –

+0

這可能是我的問題的原因,謝謝!根據你的建議,我發現OmniAuth,它似​​乎接近我所需要的。 – Augusto