【问题标题】:How can I detect if a user already singed with a social account on my website and now wants to create a normal account?我如何检测用户是否已经在我的网站上使用社交帐户签名并且现在想要创建一个普通帐户?
【发布时间】:2019-03-24 03:29:25
【问题描述】:

我如何检测用户是否已经在我的网站上使用社交帐户唱歌并且现在想要创建一个普通帐户?

如何检测更改?

我个人对此的看法:

让用户使用社交身份验证登录,然后将电子邮件添加到数据库(mongo)中但没有密码?

此外,当同一用户想使用相同的电子邮件在网站上注册但没有社交身份验证和密码时,我应该将他从社交身份验证重定向到他的个人资料信息,例如用户名?

我所说的一个例子:

用户在 stackoverflow 上使用 google+ 签名

然后过一会儿回来用相同的电子邮件但密码不同的帐户登录。

从GDPR 的角度来看,处理这种情况的最佳方法是什么,我可以使用passport 吗?

谢谢

【问题讨论】:

    标签: node.js mongodb express passport.js social-authentication


    【解决方案1】:

    当用户注册社交身份验证时,您还可以提示输入密码(如果您愿意)或创建一个没有密码的帐户。下次当用户使用相同的密码注册时,您应该显示错误消息“电子邮件被占用”。在这种情况下,用户应该会收到一封自动电子邮件,提示有人试图使用他的电子邮件,其中包含有关如何创建此帐户(例如使用 Google+)的信息 - 作为提醒。

    使用社交帐户进行身份验证并不安全,并且要求输入密码(请求带有特殊字符、大写/小写字母的长密码)会稍微提高整体安全性。双重身份验证将其提升到一个新的水平。对于大多数网站来说,它应该足够安全。在多次尝试不成功后临时阻止帐户很容易实施并且可以防止暴力破解。

    或者,用户应该可以选择通过请求将密码恢复 URL 发送到附加到帐户的电子邮件中来恢复对其帐户的访问。然后提示用户输入将为给定帐户保存的密码。因此,用户可以使用电子邮件/密码或用于创建它的社交身份验证登录到他的帐户。

    关于 GDRP,用户应该能够:

    • 查看哪些社交帐户与个人资料相关联并能够将其分离
    • 删除他的帐户(被遗忘的权利)
    • 查看他存储了哪些数据并将其导出(数据可移植性)
    • 修改数据(更正权)
    • 选择退出/接收促销电子邮件
    • 管理广告 Cookies

    应提供明确的条款和条件,并提供对存储哪些数据、存储原因和存储时间的完整描述。

    此外,安全性(2FA、https 等)

    简而言之……

    【讨论】:

    • 在这种情况下,2FA 应该是一个 json 网络令牌,或者更像是用户名和登录名之上的安全问题?
    • 在这里找到我可以添加的内容以创建成功的 2FA en.wikipedia.org/wiki/Multi-factor_authentication
    • 对于 2FA,通常会将验证码发送到 Pone 号码。或使用身份验证器应用在手机上生成代码
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-05-11
    • 1970-01-01
    • 2017-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多