微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

通过谷歌登录和自定义登录进行用户管理电子邮件相同时如何避免冲突?

如何解决通过谷歌登录和自定义登录进行用户管理电子邮件相同时如何避免冲突?

我正在开展我的第一个 MERN 全栈项目(电子商务演示)。我几乎完成了身份验证部分,但我对如何通过自定义登录和 MongoDB 数据库上的 google 登录管理具有相同注册电子邮件用户存有疑问。 在进行各种研究时,我注意到使用的方法之一如下:

1- 如果通过 google login 登录用户的电子邮件已经保存在数据库中,因为同一用户已经通过传统注册注册,则不会在数据库中创建新用户,但同时具有登录方法我们将指向已使用该电子邮件保存的同一用户

2- 如果数据库中没有保存该邮箱的用户(因为用户是第一次用google login登录,传统上没有先注册),一旦用户用google login登录,就会第一次保存到数据库中。

然而,这种方法对于上述第二种类型的用户存在问题。 实际上,如果我们将同一个邮箱的账户合并到数据库上,如果用户第一次用google登录数据库上是不会保存密码的。因此,如果同一用户以后决定以传统方式登录,他将无法这样做,因为他将无法填写密码字段。

如何解决这个问题?

解决方法

通常具有“首次登录 Google 后立即创建帐户”的网站对此问题有两种解决方案:

  • 作为“立即创建帐户”的一部分,他们直接要求用户选择密码。
  • 或者,如果没有密码,他们的“更改密码”部分允许创建密码。因此,该帐户一开始确实没有 passworld,但用户可以选择添加密码。

对于第二个解决方案,有一个小问题,如果用户无法访问其 Google 帐户并且没有设置密码,他们就会被锁定。可能不值得关注的罕见情况。 也许您的客户服务仍然可以帮助他们。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。