2012-11-14 36 views
0

我已經在使用devise和omniauth的rails應用中根據此railscast實現了facebook身份驗證:http://railscasts.com/episodes/236-omniauth-part-2我的問題是如何處理認證對象。如何使用omniauth,devise和facebook處理rails認證

如果我理解正確,那麼當我用facebook登錄時,該令牌有效一段時間並保存到認證表中。如何處理到期的地獄?更重要的是,如果我註銷身份驗證保留在表中。所以當我再次登錄時,它會找到舊的身份驗證模型。如果用戶唱出來,不應該清除認證表嗎?

回答

0

facebook是處理facebook中的身份驗證到期的人。

您可以在您的rails應用程序中控制的是設計將如何過期您的身份驗證。當這種情況發生時,用戶將被提示再次在Facebook上登錄,如果它已經被記錄,那麼他將被重定向回到你的頁面。

所以你必須控制的是你在設計中的設置。

如果您想訪問Facebook的圖形,這裏是一個很好的教程做的: Facebook Integration With Omniauth and Devise on Rails 3

的問候,費利佩·洛佩斯。

+0

感謝Felipe,但在該教程中沒有寫如何告訴devise/omniauth來處理令牌過期。我找不到任何有關這方面的信息。 –

+0

正如我告訴過你的,你不必檢查Facebook標誌何時到期。您將設置您希望用戶保持登錄到應用程序的時間,或者您可能希望Graph始終訪問用戶數據。沒有必要檢查Facebook標誌何時到期。你爲什麼需要它? – felipeclopes

+0

我的身份驗證提供程序是Facebook,這意味着我的整個身份驗證依賴於Facebook。在安全領域,如果我提供訪問令牌並且令牌在一段時間內到期,我不應該被允許訪問資源。只要我的訪問令牌來自Facebook,我也必須檢查它的有效性。訪問令牌的重點不是什麼? –

相關問題