gpt4 book ai didi

javascript - 将本地帐户与社交身份验证合并

转载 作者:行者123 更新时间:2023-12-03 08:13:19 26 4
gpt4 key购买 nike

我的网站提供本地身份验证(电子邮件+密码)和社交身份验证(Facebook、Google 等)。

有 2 个用户:Alice(恶意)和 Bob(善良)。

Alice 使用本地身份验证创建帐户。她使用鲍勃的电子邮件。她的帐户在数据库中如下所示:

email: 'bob@bob.com'
password: 'hunter2'
isEmailVerified: false

现在,鲍勃加入我的网站。他通过 google 的 oauth 加入 2。由于他的电子邮件已存在于数据库中,因此我们验证它并且他的 google 信息已附加到该帐户:

email: bob@bob.com
password: 'hunter2'
isEmailVerified: true
googleAuth: {
name: 'Bob smith'
}

现在,Alice 可以访问 Bob 的帐户了,呃哦!

显然这是错误的。但是,有什么更好的方法可以在创建帐户之前不需要验证电子邮件呢?是否可以?我确信这个问题已经在野外得到了解决,但我不知道如何在不影响用户体验的情况下做到这一点。

我提出的选项,但它们似乎是错误的:

  • 如果电子邮件未经过验证,请删除 Alice 的帐户,并为 Bob 创建一个新的独立帐户
  • 禁止 Bob 加入,因为他的电子邮件已被使用
  • 从帐户中删除密码,以便 Alice 无法登录
  • 在电子邮件经过验证之前不要创建帐户(用户不友好)

最佳答案

在将帐户标记为已验证之前,请让用户输入密码。由于 Bob 不知道 Alice 的密码,因此他必须重置密码。

关于javascript - 将本地帐户与社交身份验证合并,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34054282/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com