当用户使用已用于以传统方式创建帐户的同一 Gmail 通过 Google OAuth 登录时,约定是什么?
What's the convention for when a user logs in with Google OAuth using the same Gmail that was already used to create an account in a traditional way?
我是 Google OAuth 的新手,所以我不太熟悉 OAuth 身份验证约定。假设用户以传统方式(与 Google 身份验证无关)使用 some@gmail.com
创建帐户。我们称此帐户为 A。当同一用户使用使用相同电子邮件地址 some@gmail.com
的 Google OAuth 登录时,该用户是否应该登录同一帐户 A?这意味着,用户将能够在他的个人资料中看到相同的内容,包括他的购买历史记录、通知设置等。
如果是这样,合并用户信息的约定是什么?使用 Google 登录会提供自己的 given_name
、family_name
和 photoUrl
。传统上使用电子邮件和密码创建帐户将拥有自己的姓名和个人资料图片注册。
如果不是,您使用什么作为 UID,因为电子邮件通常是用作 UID 的常用字段。您可以创建一个单独的用户数据库,一个用于传统登录,一个用于 Google OAuth,但这似乎非常无效,因为您知道每次创建帖子时都必须搜索两个数据库有关系。
或者当用户尝试创建或登录时,您是否简单地拒绝为重复,而相同的电子邮件地址已经存在?
如果您希望允许用户使用多个提供商登录,您:
- 在 Firebase 仪表板中启用 one account per email address 设置。
- 让用户通过一个提供商登录,比如说电子邮件+密码。
- 让用户使用 Google 提供商登录,而不是使用凭证登录,link the Google provider account with the existing email+password account。
现在用户可以使用电子邮件+密码或Google登录,他们在 Firebase 中的帐户和 UID 将相同。
我是 Google OAuth 的新手,所以我不太熟悉 OAuth 身份验证约定。假设用户以传统方式(与 Google 身份验证无关)使用 some@gmail.com
创建帐户。我们称此帐户为 A。当同一用户使用使用相同电子邮件地址 some@gmail.com
的 Google OAuth 登录时,该用户是否应该登录同一帐户 A?这意味着,用户将能够在他的个人资料中看到相同的内容,包括他的购买历史记录、通知设置等。
如果是这样,合并用户信息的约定是什么?使用 Google 登录会提供自己的 given_name
、family_name
和 photoUrl
。传统上使用电子邮件和密码创建帐户将拥有自己的姓名和个人资料图片注册。
如果不是,您使用什么作为 UID,因为电子邮件通常是用作 UID 的常用字段。您可以创建一个单独的用户数据库,一个用于传统登录,一个用于 Google OAuth,但这似乎非常无效,因为您知道每次创建帖子时都必须搜索两个数据库有关系。
或者当用户尝试创建或登录时,您是否简单地拒绝为重复,而相同的电子邮件地址已经存在?
如果您希望允许用户使用多个提供商登录,您:
- 在 Firebase 仪表板中启用 one account per email address 设置。
- 让用户通过一个提供商登录,比如说电子邮件+密码。
- 让用户使用 Google 提供商登录,而不是使用凭证登录,link the Google provider account with the existing email+password account。
现在用户可以使用电子邮件+密码或Google登录,他们在 Firebase 中的帐户和 UID 将相同。