[英]How is OAUTH2 user id generated?
我一直在学习使用Passport.js使用Facebook和Google登录,这是它们提供的典型用户对象的方式:
{
id: "1234567",
displayName: "John Smith",
name: {
familyName: "Smith",
givenName: "John"
}
// emails, photos, etc.
}
现在,我试图了解id
字段是如何生成的,以及它们在不同的登录提供程序中为何是唯一的。 它似乎不是UUID。
用户以其id
作为主键保存到MySQL数据库中; 并且我正在尝试实施常规的用户名/密码登录,因此我需要生成自己的id
。
几年前,Facebook和Google ID不再有趣。 您不应使用该ID作为“真实”或UUID标识符。
是的,您是对的,如果要使用SSO,则必须生成自己的ID,并且还必须保存其他“外部” ID。 对于您自己的ID,我建议您为PK使用一个简单的mysql autoincrement ID。 注意这一点,因为您需要扩展它 。
如果必须公开自己的ID,则需要具有自己的“外部” ID, 同时还要注意此的安全性要求 。
最后, OAuth2不声明有关用户ID格式的任何内容。
最好!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.