2011-09-10 7 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を使用して のfacebookアカウントを持つ既存のユーザーをリンクする場合は、アプリケーションで 予防措置を取る必要があります。

答えて

0

警告が妙に不可解ですが、コードスニペットは、彼らがFacebookのアカウントで(ウェブサイトやいくつかの非Facebookの登録から直接作成された)既存のユーザーアカウントと一致しようとしているの危険性に言及していることを示唆しています一致する電子メールアドレスを見つけることだけに基づいています。多くのユーザーは、既にアカウントを持っていても新しいアカウントを作成する可能性があります。

関連する問題