我一直在学习使用Passport.js使用Facebook和Google登录,这里是他们提供的典型用户对象:
{
id: "1234567",
displayName: "John Smith",
name: {
familyName: "Smith",
givenName: "John"
}
// emails, photos, etc.
}
现在,我试图了解id
字段是如何生成的,以及它们在不同的登录提供程序中是如何唯一的。它似乎不是一个UUID。
用户将id
作为主键保存到MySQL数据库中;我正在尝试实施常规用户名/密码登录,因此我需要自己生成id
个。
答案 0 :(得分:0)
多年前,Facebook和Google ID一直没有用。你不应该使用该ID作为真实的"或UUID标识符。
是的,你是对的,你必须生成自己的ID,并保存其他"外部"如果您想要SSO,请使用ID。对于你自己的id,我推荐你一个简单的PK自动增量id。 Take care of this is you need to scale it
如果你必须暴露自己的身份证,你需要拥有自己的"外部" id,also take care of the security requirements of this。
最后,OAuth2没有说明有关用户ID格式的任何内容。
最佳!