Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Passport.js:UID是唯一的吗?_Node.js_Oauth_Google Oauth_Passport.js_Facebook Login - Fatal编程技术网

Node.js Passport.js:UID是唯一的吗?

Node.js Passport.js:UID是唯一的吗?,node.js,oauth,google-oauth,passport.js,facebook-login,Node.js,Oauth,Google Oauth,Passport.js,Facebook Login,我有一个Nodejs应用程序,我使用Passeport让我的用户通过Oauth通过Facebook或谷歌进行连接。我在连接后存储基本数据,例如:uid、firstname等 如何确保我接收的uid对于给定用户始终是唯一的?我的意思是,数据要么来自Facebook,要么来自谷歌,那么为什么我不能在某一天为不同的用户面对一个令人讨厌的重复uid呢?uid只在单一提供商的用户列表范围内是唯一的 建议您将提供程序的名称与UID组合以获得唯一值 提供商名称和uID的组合将唯一标识我们应用程序中的用户 我会

我有一个Nodejs应用程序,我使用Passeport让我的用户通过Oauth通过Facebook或谷歌进行连接。我在连接后存储基本数据,例如:uid、firstname等


如何确保我接收的uid对于给定用户始终是唯一的?我的意思是,数据要么来自Facebook,要么来自谷歌,那么为什么我不能在某一天为不同的用户面对一个令人讨厌的重复uid呢?

uid只在单一提供商的用户列表范围内是唯一的

建议您将提供程序的名称与UID组合以获得唯一值

提供商名称和uID的组合将唯一标识我们应用程序中的用户


我会使用提供商的域名,如“google.com”或“com.google”。

UID仅在该提供商的用户列表范围内是唯一的

建议您将提供程序的名称与UID组合以获得唯一值

提供商名称和uID的组合将唯一标识我们应用程序中的用户


我会使用提供商的域名,如“google.com”或“com.google”。

当您使用Facebook或谷歌时,您通过OAuth获得的id是唯一的。但是如果你想同时使用这两种方法,那么我建议你在使用猫鼬时使用dbSchema-

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
  }
});

当您使用Facebook或Google时,通过OAuth获得的id是唯一的。但是如果你想同时使用这两种方法,那么我建议你在使用猫鼬时使用dbSchema-

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
  }
});