Google/Facebook Oauth 的唯一 ID

Unique ID for Google/Facebook Oauth

我是否可以从 Facebook 和 Google 获得任何唯一且不变的令牌?

一旦我从 Oauth 登录获得令牌和用户信息,我就可以在我的数据库中搜索具有该电子邮件的用户,如果不存在则创建一个帐户。

问题是,即使 oauth 令牌和电子邮件是真实的,我仍然想在查询用户时在数据库查询中使用第二个令牌。

Google 和 Facebook 是否有任何唯一的 ID 字段,我可以在创建用户时将其与电子邮件捆绑在一起以帮助确保登录过程的安全性?

p.s。如果有任何已知的验证或令牌生成包可能对我有帮助,我正在使用 Mean stack 和 passportjs。

谢谢。

两个提供商都公开了一个唯一的用户 ID。

  • Google documentation:

    [...] you can safely retrieve and use the user's unique Google ID from the sub claim.

  • 要检索 Facebook user_id,请致电:

    https://graph.facebook.com/me?fields=id&access_token=xxx