前后端配合实现密码找回功能思路
?
-前后端配合實(shí)現(xiàn)密碼找回功能
前端-郵箱驗(yàn)證
用戶(hù)進(jìn)入忘記密碼頁(yè)面(localhost:8080/#/FindPwd),將用戶(hù)名和圖形驗(yàn)證碼填入。前端對(duì)用戶(hù)名進(jìn)行后端校驗(yàn)(調(diào)用后端的api判斷該用戶(hù)名是否存在),如果用戶(hù)不存在,給出相關(guān)提示;如果用戶(hù)存在,然后調(diào)用發(fā)送郵件的后端api(攜帶用戶(hù)名信息)
?
后端-發(fā)送郵件
?
后端接收到前端發(fā)送郵件的請(qǐng)求后,通過(guò)用戶(hù)名從數(shù)據(jù)庫(kù)查找對(duì)應(yīng)的郵箱,發(fā)送郵件(郵件的形式是一些介紹說(shuō)明和一個(gè)前端鏈接,該鏈接的形式為
localhost:8080/#/ResetPwd?token=yP1K8viNMKhv2HfDIPpS8exF21pPdVt8y9LP8AklXv78jPMImA4V7dJ5EMw1vJM7LcZ7BfDpXE1GHhdMga3r0A==)
其中localhost:8080為前端的ip和端口,后端可以從http請(qǐng)求頭中的Origin中獲取,這里用localhost:8080作為示例。而token中攜帶了加密信息(其中可以包含用戶(hù)信息,用來(lái)作為重置密碼頁(yè)面的提示內(nèi)容;其中必須包含用戶(hù)id,失效時(shí)間等關(guān)鍵信息)。
?
發(fā)送郵件后,給前端響應(yīng),通知前端郵件是否發(fā)送成功。前端拿到這個(gè)結(jié)果,相應(yīng)地給用戶(hù)提示(如:“郵件發(fā)送成功,請(qǐng)前往郵箱查收”)
?
?
前端-解密鏈接
用戶(hù)點(diǎn)擊鏈接打開(kāi)頁(yè)面,前端對(duì)鏈接中的token查詢(xún)字符串進(jìn)行解密,調(diào)用后端解密的api,傳入token值,解密可以得到用戶(hù)id,失效時(shí)間等信息。前端獲取到失效時(shí)間后,與當(dāng)前時(shí)間做對(duì)比,如果已經(jīng)過(guò)期,則提示用戶(hù);如果未過(guò)期,則展示重置密碼頁(yè)面。用戶(hù)需要填入新密碼,點(diǎn)擊確認(rèn),進(jìn)行密碼重置。此時(shí)前端攜帶用戶(hù)id和加密過(guò)的新密碼發(fā)送重置密碼的請(qǐng)求給后端api,后端返回成功后,前端提示用戶(hù)修改成功。
?
轉(zhuǎn)載于:https://blog.51cto.com/14150615/2356945
新人創(chuàng)作打卡挑戰(zhàn)賽發(fā)博客就能抽獎(jiǎng)!定制產(chǎn)品紅包拿不停!總結(jié)
以上是生活随笔為你收集整理的前后端配合实现密码找回功能思路的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: springmvc框架原理分析
- 下一篇: Python DbUtil操作数据