2011-09-10 33 views
1

我正在通過設計omniauth documentation並遇到以下代碼段。將現有用戶鏈接到某個fb賬戶時需要採取何種預防措施

它顯示了一個例子,但在筆記中提示,對於實際的應用程序,必須採取預防措施。

實際實時應用程序可採取何種預防措施?

def self.find_for_facebook_oauth(access_token, signed_in_resource=nil) 
    data = access_token['extra']['user_hash'] 
    if user = User.find_by_email(data["email"]) 
    user 
    else # Create a user with a stub password. 
    User.create(:email => data["email"], :password => Devise.friendly_token[0,20]) 
    end 
end 

注:這是一個簡單的例子。如果使用User.find_by_email將現有用戶與 的臉書帳戶關聯起來,則您的應用程序必須採取 注意事項。

回答

0

警告是奇怪的神祕,但代碼片段表明,他們指的是試圖用一個Facebook帳戶相匹配,現有的用戶帳戶(直接在網站上或通過一些非Facebook的註冊創建的)危險僅基於找到匹配的電子郵件地址。許多用戶可能最終會創建一個新帳戶,即使他們已經有一個。

相關問題