当用户使用已经以传统方式创建帐户的相同Gmail登录Google OAuth时的惯例是什么?

问题描述 投票:0回答:1

我是Google OAuth的新手,所以我不太熟悉OAuth身份验证约定。假设用户以传统方式(与Google身份验证无关)使用[email protected]创建帐户。我们将此帐户称为A。当同一用户使用使用相同电子邮件地址[email protected]的Google OAuth登录时,该用户应该登录到同一帐户A吗?意思是,用户将能够在其个人资料中看到相同的内容,包括其购买历史,通知设置等。

如果是这样,合并用户信息的惯例是什么?使用Google登录提供自己的given_namefamily_namephotoUrl。按照传统,使用电子邮件和密码创建一个帐户将拥有自己的名称和个人资料照片注册。

[否则,您将UID用作什么,因为电子邮件通常是用作UID的常见字段。您可以创建一个单独的用户数据库,一个用于传统登录,一个用于Google OAuth,但这似乎非常无效,因为您知道每次创建相关帖子时都必须搜索两个数据库。

或者当用户尝试创建或在已经存在相同电子邮件地址的情况下登录时,您是否只是拒绝重复?

reactjs oauth-2.0 firebase-authentication google-oauth google-authentication
1个回答
0
投票

如果您希望允许用户使用多个提供商登录,则您:

  1. 在Firebase仪表板中启用one account per email address设置。
  2. 让用户通过一个提供商登录,例如电子邮件和密码。
  3. 让用户使用Google提供程序登录,但不要使用凭证link the Google provider account with the existing email+password account登录。

现在用户可以使用电子邮件+密码或Google登录,并且他们在Firebase中的帐户和UID将相同。

© www.soinside.com 2019 - 2024. All rights reserved.