二维码登陆解析
二維碼登陸的背景分析
現在很多網站已經不限于賬號密碼或者手機號驗證碼的登陸方式了,而第三種登陸方式就是我們的二維碼登錄,這是一種跨服務的登陸方式,可以簡單地理解為手機端的登陸信息跨到瀏覽器端,現在可以很輕松的使用二維碼生成器把我們的各種信息轉換為二維碼圖片,包括文本、網址、文件、音視頻等,這里我們就二維碼登陸來講講其具體登陸流程是怎么實現呢?
二維碼登陸的流程分析
模擬業務流程:首先用戶打開網頁,瀏覽器向其服務器請求登陸二維碼,瀏覽器服務器收到請求,產生一個隨機字符串,并且存入全局會話redis的key,存儲成功后,字符串和登陸驗證接口生成二維碼返回給網頁。網頁得到二維碼,展示給用戶,并且以二維碼中包含的字符串為參數每秒請求一次服務器;
用戶方面的話,看到二維碼之后使用手機進行掃碼,將字符串和手機端的用戶信息傳入登陸校驗接口,手機端服務器負責用戶信息的校驗,校驗通過,通過key為字符串把userid當做value存入redis,手機端服務器完成任務;
前面攜帶字符串的掃描接口(瀏覽器服務器)邏輯是按字符串為key去查redis,得到value(userid)查詢用戶信息,內部調用登錄方法,沒問題后生成token返回瀏覽器端,登陸成功。
總結
二維碼登陸的主要問題是用戶信息跨平臺的校驗,一端是手機端服務器,一端是瀏覽器端服務器,所以需要把redis當成公共信息交換媒介,手機端掃描二維碼,手機端服務器校驗信息后把userid存入redis中,瀏覽器拿字符串每秒請求瀏覽器服務器,查詢redis是否有value,有的話后臺查詢用戶信息,內部調用登錄方法后返回瀏覽器token,登陸完成。
總結
- 上一篇: 显示icloud服务器超时,iCloud
- 下一篇: 云桌面和计算机,云桌面和电脑在使用上的差