掃二維碼登錄總結(jié):
1,后端接口生成二維碼字符串qrCode返回給前端,二維碼狀態(tài)為待掃碼,存入redis,hash結(jié)構(gòu),qrCode:status,待掃碼狀態(tài)
2,前端每隔1秒鐘查詢二維碼狀態(tài),狀態(tài)為確認(rèn)完成時(shí),調(diào)登錄接口進(jìn)行登錄,參數(shù)為用戶手機(jī)號(hào)和二維碼字符串qrCode,接口返回手機(jī)號(hào)和二維碼狀態(tài)
3,用戶app端(賬戶已登錄)掃二維碼,調(diào)后端接口,綁定手機(jī)號(hào)和qrCode,狀態(tài)為掃碼成功待確認(rèn),用戶點(diǎn)確認(rèn)后,狀態(tài)變?yōu)榇_認(rèn)完成
4,前端查詢到狀態(tài)為確認(rèn)完成以及該二維碼的手機(jī)號(hào),調(diào)登錄接口,傳手機(jī)號(hào)和二維碼,后端接口判斷該二維碼狀態(tài)為確認(rèn)完成,且綁定的手機(jī)號(hào)與登錄接口傳的手機(jī)號(hào)一致,則判斷不需要密碼即可登錄
滑塊校驗(yàn)總結(jié)
1,后端用背景圖生成含有滑動(dòng)拼圖塊的圖片,隨機(jī)生成拼圖所在x坐標(biāo),拼圖所在y坐標(biāo),滑塊圓弧方向和唯一token,并把唯一token和x坐標(biāo)存入redis,把滑動(dòng)拼圖塊,背景圖,唯一token,拼圖所在y坐標(biāo)和滑塊圓弧方向返回給前端,前端生成用戶可拖動(dòng)滑塊的圖片
2,用戶拖動(dòng)滑塊后,前端調(diào)后端接口,傳唯一token和用戶拖動(dòng)滑塊位置的x坐標(biāo),根據(jù)唯一token,取出redis中存的x坐標(biāo),比對(duì)用戶生成的x坐標(biāo)和之前存的x坐標(biāo)是否在允許誤差范圍之內(nèi)