2016-04-27 15 views
1

私はNodejsアプリを持っていて、私はユーザーがFacebookやGoogleにOauth経由で接続できるようにPasseportを使っています。私は、接続後の基本データを次のように保存しています:uid、firstnameなどPassport.js:UIDは一意ですか?

私が受け取っているuidが特定のユーザにとって常にユニークになることをどうすれば保証できますか?私は、FacebookやGoogleからデータが来ているので、いつか別のユーザーのために厄介な重複したUIDに直面することができないのでしょうか?

答えて

2

UIDは、その単一のプロバイダのユーザーリストの範囲内でのみユニークです。

This articleは、プロバイダの名前とUIDを組み合わせてユニークな値を得ることを示唆しています。

プロバイダの名前とuIDの組み合わせは、アプリ内のユーザーを一意に識別します。

"google.com"や "com.google"などのプロバイダのドメイン名を使用します。

4

あなたがOAuth経由で取得しているIDは、FacebookまたはGoogleを使用しているときに一意です。

var userSchema = new mongoose.Schema({ 
    local: { 
    username: String, 
    password: String 
    }, 
    facebook: { 
    id: String, 
    token: String, 
    email: String, 
    name: String 
    }, 
    google: { 
    id: String, 
    token: String, 
    email: String, 
    name: String 
    } 
}); 
- あなたは両方を使用したい場合はしかし、私は(あなたがマングースを使用している場合)、このようなあなたの DBSCHEMAを作ることをお勧め
関連する問題