簡體   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