Firebase 身份验证中的用户 ID 如何在所有身份验证提供程序(Google、Facebook、Github)中都相同?

Posted

技术标签:

【中文标题】Firebase 身份验证中的用户 ID 如何在所有身份验证提供程序(Google、Facebook、Github)中都相同?【英文标题】:How can the User ID in Firebase Authentication be the same across all Authentication Providers (Google, Facebook, Github)? 【发布时间】:2018-01-24 05:51:16 【问题描述】:

Google 在此视频中说:https://www.youtube.com/watch?v=8sGY55yxicA&t=1m3s

用户信息包含一个唯一的id,保证是 在所有提供商中都不同。

如果用户在每个提供商上使用不同的电子邮件和密码,这怎么可能? Google 如何知道哪个 Facebook、Google 和 Github 帐户属于同一用户?

【问题讨论】:

【参考方案1】:

Firebase 中有一个选项可以将身份验证提供程序链接在一起。

工作流程相当简单,您可以让用户通过 Google 身份验证,登录后他们可以将其帐户链接到 Facebook,或用户名/密码组合。

这样,每当他们登录时,他们都会使用相同的用户 ID。 Auth 对象将与链接到 Auth 用户的不同提供者一起返回。

更多信息请参见https://firebase.google.com/docs/auth/web/account-linking。

【讨论】:

以上是关于Firebase 身份验证中的用户 ID 如何在所有身份验证提供程序(Google、Facebook、Github)中都相同?的主要内容,如果未能解决你的问题,请参考以下文章

如何在验证电子邮件之前阻止 Firebase/Vue.js 中的用户身份验证

为啥注册用户后 Firebase 实时数据库用户 ID 与 Firebase 身份验证 UID 不匹配?

如何从 Firebase 数据库中获取经过身份验证的用户?

具有 facebook 身份验证和唯一 ID 的 Firebase 规则

Flutter Firebase signInWithCustomToken 与现有身份验证系统的用户 ID?

如何检查用户是否允许或禁止Facebook身份验证 - Firebase中的电子邮件