我一直在学习如何使用 Passport.js 使用 Facebook 和 Google 登录,以下是他们提供的典型用户对象的方式:
{
id: "1234567",
displayName: "John Smith",
name: {
familyName: "Smith",
givenName: "John"
}
// emails, photos, etc.
}
现在,我试图了解 id
字段是如何生成的,以及它们为何在不同的登录提供商中是唯一的。它似乎不是一个 UUID。
用户被保存到 MySQL 数据库中,其 id
作为主键;我正在尝试实现常规用户名/密码登录,因此我需要生成自己的 id
。
最佳答案
Facebook 和 Google ID 几年前就不再那么有趣了。您不应将该 ID 用作“真实”或 UUID 标识符。
是的,你是对的,如果你想要 SSO,你必须生成自己的 ID,并保存其他“外部”ID。对于你自己的id,我推荐你一个简单的mysql自动增量id用于PK。 Take care of this is you need to scale it .
如果你必须公开你自己的id,你需要有你自己的“外部”id,also take care of the security requirements of this .
最后,OAuth2没有说明任何有关用户 ID 格式的信息。
最好!
关于mysql - OAUTH2 用户 ID 是如何生成的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45428069/