網頁版微信剛推出時,無數人被它的登錄方式驚艷了一下,不需要輸入用戶名密碼,打開手機微信掃一掃,便自動登錄。
微信掃碼登錄
如今,只要同時支持PC端與移動端的應用,均支持手機App掃碼登錄,像淘寶,12306等。從原理上講,二維碼只是一段文本的編碼,那么它是如何實現快捷登錄的呢?今天我們就來簡單分析一下!
正文
如果你用我查查、支付寶、新浪微博等軟件掃碼二維碼,你會發現此二維碼解析出來是如下的網址:
https://login.weixin.qq.com/l/obsbQ-Dzdg==
接下來詳細介紹一下掃碼登錄具體的每個步驟:
微信掃碼登錄原理
如圖:
①:用戶 A 訪問微信網頁版,微信服務器為這個會話生成一個全局唯一的 ID,上面的 URL 中 obsbQ-Dzdg== 就是這個 ID,但是此時系統并不知道訪問者是誰。
②:用戶A打開自己的手機微信并掃描這個二維碼,并提示用戶是否確認登錄。
③:手機上的微信是登錄狀態,用戶點擊確認登錄后,手機上的微信客戶端將微信賬號和這個掃描得到的 ID 一起提交到服務器
④:服務器將這個 ID 和用戶 A 的微信號綁定在一起,并通知網頁版微信,這個 ID 對應的微信號為用戶 A,網頁版微信加載用戶 A 的微信信息,至此,掃碼登錄全部流程完成
至于服務端如何通知網頁版的微信,無非兩種方式:
如果是CS的應用,則客戶端使用輪詢的方式去詢問服務器是否登錄成功
如果是BS的應用,則服務端可以通過CallBack回調的方式來告知客戶端登錄成功。
掃碼登錄看起來神奇,主要是因為微信 APP 掃自家的碼會做一些普通二維碼軟件不會做的額外的操作,那就是將當前已登錄的微信和掃出來的 ID 提交到微信服務器,類似的應用還有掃碼支付、掃碼加公眾號等功能.
結語
以上便是掃碼登錄的原理,你弄明白了嗎?如有疑問,可以在評論區交流!