亚洲乱色熟女一区二区三区丝袜,天堂√中文最新版在线,亚洲精品乱码久久久久久蜜桃图片,香蕉久久久久久av成人,欧美丰满熟妇bbb久久久

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

揭秘完整的手機(jī)掃碼登錄的實現(xiàn)原理

admin
2024年6月28日 10:44 本文熱度 1800

    現(xiàn)在我們很多的應(yīng)用(如微信公眾號、B站網(wǎng)頁等)都是支持手機(jī)掃碼登錄,在網(wǎng)頁上打開應(yīng)用后就會彈出使用手機(jī)掃碼登錄的頁面如下:

    此時用戶只需使用微信(微信已經(jīng)是登錄狀態(tài)的,不然是掃描不了的)掃一下圖中的二維碼,隨后手機(jī)上就出現(xiàn)了讓用戶點擊確認(rèn)登錄的按鈕,當(dāng)用戶點擊確認(rèn)之后就會自動登錄到應(yīng)用。整個流程如下圖所示:

    那么手機(jī)掃碼登錄是如何實現(xiàn)的呢?下面分析手機(jī)掃碼登錄的原理。

1、手機(jī)登錄和PC登錄的原理

1.1 手機(jī)登錄原理

(a)用戶在手機(jī)客戶端上輸入賬號和密碼并且攜帶設(shè)備信息一起請求服務(wù)器

(b)服務(wù)器接收到請求后,驗證用戶的賬號和密碼是否正確,如果不正確則給予異常的提示;如果正確就生成token給客戶端

(c)手機(jī)客戶端通過攜帶token和設(shè)備的信息的方式請求服務(wù)器,服務(wù)器驗證token是否有效,token有效的情況下驗證是否為之前申請登錄的客戶端設(shè)備,如果不是之前申請登錄的設(shè)備也不允許訪問服務(wù)器

    手機(jī)登錄中需要攜帶設(shè)備的信息是為了防止token泄露后,攻擊者使用其他的設(shè)備攜帶當(dāng)前的token訪問服務(wù)器資源。

1.2 PC登錄原理

(a)PC端輸入賬號和密碼請求登錄服務(wù)器

(b)服務(wù)器接收到請求后,驗證用戶的賬號和密碼是否正確,如果不正確則給予異常的提示;如果正確就生成token給客戶端

(c)PC端攜帶token請求訪問服務(wù)器,服務(wù)器驗證token是否有效,token有效可以處理請求并返回響應(yīng)


2、手機(jī)掃碼登錄的原理

    了解了手機(jī)登錄和PC端登錄的原理后,理解手機(jī)掃碼登錄的原理就很簡單了,手機(jī)掃碼登錄的實質(zhì)是通過已經(jīng)在APP上登錄的用戶幫助PC端的應(yīng)用到服務(wù)器上申請pc-token,拿到pc-token后就和PC端登錄服務(wù)器的原理一樣了。手機(jī)掃碼登錄的完整流程如下:

2.1 生成二維碼

    用戶打開PC端的應(yīng)用后PC端會向服務(wù)器申請二維碼id,服務(wù)器此時會生成一個唯一的二維碼id,然后服務(wù)器將二維碼id、二維碼過期時間等信息存放Redis中并且返回二維碼id給PC端。

    PC端獲取到二維碼id后利用其生成一個用戶可掃描的二維碼,當(dāng)然PC端需要監(jiān)聽到二維碼的狀態(tài)變更信息(服務(wù)器上對二維碼的變更操作需要實時的通知PC端)。

2.2 用戶掃描二維碼

    生成二維碼之后,用戶使用手機(jī)上已登錄的APP掃描這個二維碼,掃描后會發(fā)送一個攜帶手機(jī)token、設(shè)備信息和二維碼id的請求訪問服務(wù)器。

    當(dāng)服務(wù)器接收到登錄請求后會驗證手機(jī)token的有效性,如果手機(jī)token是有效的并且token也是當(dāng)前的設(shè)備申請的,此時服務(wù)器會生成一個臨時的token并修改二維碼的狀態(tài)為等待用戶確認(rèn)登錄的狀態(tài),然后返回token信息給手機(jī)客戶端,手機(jī)客戶端此時會彈出用戶確認(rèn)的按鈕。與其同時服務(wù)器會通知客戶端當(dāng)前的二維碼狀態(tài)處于等待用戶確認(rèn)登錄的狀態(tài)。

2.3 用戶手機(jī)上確認(rèn)登錄

    用戶在手機(jī)上點擊確認(rèn)登錄后會發(fā)送一個攜帶臨時token的請求到服務(wù)器上,服務(wù)器驗證臨時token是否有效,如果臨時token是有效的,服務(wù)器就會生成一個pc-token以及修改二維碼的狀態(tài)為登錄狀態(tài)的一系列操作。服務(wù)器將pc-token和二維碼狀態(tài)等信息緩存到Redis中,然后服務(wù)器還要推送pc-token和二維碼變更信息到PC端,PC端感知到二維碼狀態(tài)變更之后就隱藏二維碼和跳轉(zhuǎn)到主頁中。

    通過以上的步驟就是實現(xiàn)了一套完整的手機(jī)掃碼登錄流程,在這個過程中每次的二維碼信息變更都是服務(wù)器推送給PC客戶端的,那么服務(wù)器如何做到推送數(shù)據(jù)給PC客戶端呢?這里實現(xiàn)服務(wù)器和客戶端通信的方案有很多種,如常見有WebSocket、SSE和客戶端輪詢等方案,龍蝦之前也有過分享服務(wù)端和客戶端實時通信的文章,有興趣的朋友可以點擊看下:整理常見的實時消息推送方案

 總結(jié):

(1)手機(jī)掃碼登錄中二維碼的狀態(tài)變更涉及到服務(wù)器和客戶端之間的通信問題,有多種實現(xiàn)方案;

(2)手機(jī)掃碼登錄中核心是已在APP上登錄的用戶使用APP幫助PC客戶端拿到服務(wù)器頒發(fā)的pc-token來實現(xiàn)PC端的登錄。


該文章在 2024/6/28 10:44:05 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場、車隊、財務(wù)費(fèi)用、相關(guān)報表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點,圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved