繁体   English   中英

如何在社交登录后向用户显示他们自动生成的密码?

[英]How to show the user their automatically generated password after social login?

我面临着一个美丽的谜。 在 wordpress 中,我有一个小部件,可让您使用社交登录(google 和 facebook)登录。 首次登录时,系统会自动生成密码和用户名。 这很好用。 我检查了数据库,密码正确显示为散列。

现在,问题是如果用户进入配置文件设置并想要更改他们的密码,他们必须首先输入当前密码,但他们无法知道它,因为它是自动生成的。

我想让用户完全控制其帐户的安全性,以便即使他使用社交登录名登录,他也可以更改密码。

所以我预见了三种可能的解决方案

  1. 允许在不输入当前密码的情况下更改密码(但似乎不安全)。

  2. Email 自动生成的密码(我不知道我该怎么做)。 或者在用户的个人资料中查看它,但我不知道它有多安全。

  3. 禁用社交登录并依赖经典注册:)

有没有人遇到过类似的情况? 你能用一些标准的方法/实践来澄清这一点吗?

您可以允许用户要求输入他/她指定的新密码。 用户将指定两次密码(密码和确认密码字段),然后您:

  • 加密用户要求的密码
  • 将加密值存储为候选密码(可能是元数据)
  • 向用户发送 email 以便他/她可以确认他/她确实要求输入密码
  • 一旦用户点击您发送给他/她的链接,将密码的值替换为候选密码并删除候选密码

不要忘记用户在更改密码时已经登录,在他/她要求的密码中添加 email 验证是非常安全的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM