我正在通过设计omniauth documentation并遇到下面的代码段。
它显示了一个示例,但在说明中建议对于实际的实时应用程序,必须采取预防措施。
对于实际的实时应用,可以采取哪些预防措施?
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链接现有用户的预防措施 一个Facebook帐户。
答案 0 :(得分:0)
该警告奇怪地含糊不清,但代码片段表明他们指的是尝试将现有用户帐户(直接在网站上创建或通过某些非Facebook注册创建)与仅基于Facebook帐户进行匹配的危险找到匹配的电子邮件地址。许多用户可能最终会创建一个新帐户,即使他们已经创建了一个帐户。