掃碼登錄原理實現


 

最近發現很多網站都用起了手機掃碼登陸功能,又百度了下,總結一下其實現原理,以淘寶為例。

掃碼登陸的過程大致如下:

1.瀏覽器輸入網站展示登錄二維碼信息等。

2.手機通過掃描二維碼,確認登錄。

3.網頁檢測到手機允許登錄,生成用戶信息登錄成功。

掃描之后為該網址:

 https://login.m.taobao.com/qrcodeCheck.htm?lgToken=2194021d239d0914a1002491f05a41c7&tbScanOpenType=Notification
其中和瀏覽器建立長連接,來檢測二維碼掃描狀態或者是否過期。
 
其中主要原理

①:用戶 訪問淘寶網頁版,服務器為這個會話生成一個全局唯一的 ID,上面的 URL 中 lgToken 就是這個 ID,此時系統並不知道訪問者是誰。此時和瀏覽器建立長連接,實時監測二維碼狀態。(1000為未過期,1004為二維碼過期狀態)突然間發現淘寶好像使用的jsonp解決跨域問題的。

 

 

 

 

 

 

②:用戶打開自己的手機淘寶並掃描這個二維碼,並提示用戶是否確認登錄。

③:手機上的淘寶是登錄狀態,用戶點擊確認登錄后,服務器就得到了用戶以及全局唯一ID,服務器將這個 ID 和用戶 淘寶號綁定在一起,在后台重新生成令牌。

④:通知網頁,這個 ID 對應的賬號為用戶 ,網頁版加載用戶  的信息,至此,掃碼登錄全部流程完成

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM