2011-02-15 128 views
0

作爲Rails的相對新手,我不確定如何解決這個問題。我正在尋找在我正在開發的練習網站上添加基本的「使用Facebook登錄」功能。我被困在兩條戰線:通過Rails登錄Facebook

  1. 與Facebook打交道的大多數Rails插件似乎過時或記錄不全。我遇到了Facebooker(似乎已經離開了我所看到的)和Mini_FB(更新,但很少的文檔)。我試圖安裝Mini_FB,但我對使用Gems仍然很陌​​生。我跑gem install mini_fb,然後bundle install,並最終將gem 'mini_fb'添加到我的Gemfile,但我的服務器抱怨no such file to load錯誤。 是否有任何其他必要步驟允許您的應用使用寶石?

  2. 我對「登錄Facebook」功能如何從整體鳥瞰視圖工作感到困惑。我知道我的App ID已被傳遞到登錄功能中,並且最終獲得訪問令牌(在使用我的App Secret密鑰和授權碼重新提交之後)。 但是,它如何與Rails站點上的某種用戶系統集成?由於此訪問代碼不會永遠持續,因此我是否需要定期更新它?這是通過簡單地等待從Graph請求中捕獲訪問令牌錯誤並重做整個授權過程來完成的?

回答

3

您試過OmniAuth

它支持許多外部提供商,包括Facebook。

也有一些railscasts它的使用。

+0

OmniAuth似乎提供了通用的OAuth身份驗證 - 這可能正是我所需要的 - 但我根本不明白通過他們的Facebook帳戶驗證用戶的流程。當然,我可以循序漸進,但在處理用戶帳戶安全性問題時,我想了解我在做什麼。同樣,Railcasts似乎涉及通過設計使用OAuth,而我並未使用這種設計。通過Facebook功能登錄有什麼?我找不到任何東西 – 2011-02-16 18:38:31

1

在您的應用程序上安裝gem的正確順序是先將它添加到您的Gemfile.rb中,然後在控制檯上運行bundle install。這就是說,OmniAuth可能是你最好的路徑