您好,登錄后才能下訂單哦!
-前后端配合實現密碼找回功能
前端-郵箱驗證
用戶進入忘記密碼頁面(localhost:8080/#/FindPwd),將用戶名和圖形驗證碼填入。前端對用戶名進行后端校驗(調用后端的api判斷該用戶名是否存在),如果用戶不存在,給出相關提示;如果用戶存在,然后調用發送郵件的后端api(攜帶用戶名信息)
后端-發送郵件
后端接收到前端發送郵件的請求后,通過用戶名從數據庫查找對應的郵箱,發送郵件(郵件的形式是一些介紹說明和一個前端鏈接,該鏈接的形式為
localhost:8080/#/ResetPwd?token=yP1K8viNMKhv2HfDIPpS8exF21pPdVt8y9LP8AklXv78jPMImA4V7dJ5EMw1vJM7LcZ7BfDpXE1GHhdMga3r0A==)
其中localhost:8080為前端的ip和端口,后端可以從http請求頭中的Origin中獲取,這里用localhost:8080作為示例。而token中攜帶了加密信息(其中可以包含用戶信息,用來作為重置密碼頁面的提示內容;其中必須包含用戶id,失效時間等關鍵信息)。
發送郵件后,給前端響應,通知前端郵件是否發送成功。前端拿到這個結果,相應地給用戶提示(如:“郵件發送成功,請前往郵箱查收”)
前端-解密鏈接
用戶點擊鏈接打開頁面,前端對鏈接中的token查詢字符串進行解密,調用后端解密的api,傳入token值,解密可以得到用戶id,失效時間等信息。前端獲取到失效時間后,與當前時間做對比,如果已經過期,則提示用戶;如果未過期,則展示重置密碼頁面。用戶需要填入新密碼,點擊確認,進行密碼重置。此時前端攜帶用戶id和加密過的新密碼發送重置密碼的請求給后端api,后端返回成功后,前端提示用戶修改成功。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。