網(wǎng)站建設(shè)時掃碼登錄是如何閃現(xiàn)的?

2022-08-06    分類: 網(wǎng)站建設(shè)

今天不聊網(wǎng)站建設(shè),今天來聊一聊現(xiàn)在比較盛行的掃碼登錄的工作原理。

需求介紹

首要,介紹下什么是掃碼登錄?,F(xiàn)在,大部分同學(xué)手機上都裝有qq和淘寶,天貓等這一類的軟件。而開發(fā)這些app的企業(yè),都有他們相對應(yīng)的網(wǎng)站。為了讓用戶在運用他們的網(wǎng)站時,登錄愈加便利和安全。這些企業(yè)供給了, 運用手機,掃一掃,就能夠登錄的服務(wù)。網(wǎng)頁登錄時的作用如下:

掃碼登錄工作原理

掃碼登錄工作原理

有許多小伙伴或許會感到很奇特,網(wǎng)頁上僅僅顯現(xiàn)了個二維碼,它怎樣就知道是哪個手機掃到了二維碼,而且進(jìn)行登錄的呢?而且,登錄完結(jié)今后,還能直接把用戶信息顯現(xiàn)給用戶,真的是很奇特啊。

原理解說

網(wǎng)頁端+服務(wù)器

接下來就是關(guān)于這個服務(wù)的具體完結(jié)。首要,大概說一下原理:用戶翻開網(wǎng)站的登錄頁面的時候,向瀏覽器的服務(wù)器發(fā)送獲取登錄二維碼的申請。服務(wù)器收到申請后,隨機生成一個uuid,將這個id作為key值存入redis服務(wù)器,一同設(shè)置一個過期時刻,再過期后,用戶登錄二維碼需求進(jìn)行改寫從頭獲取。一同,將這個key值和本公司的驗證字符串合在一同,經(jīng)過二維碼生成接口,生成一個二維碼的圖片(二維碼生成,網(wǎng)上有許多現(xiàn)成的接口和源碼,這兒不再介紹。)然后,將二維碼圖片和uuid一同回來給用戶瀏覽器。

瀏覽器拿到二維碼和uuid后,會每隔一秒向瀏覽器發(fā)送一次,登錄是否成功的申請。申請中帶著有uuid作為當(dāng)前頁面的標(biāo)識符。這兒有的同學(xué)就會奇怪了,服務(wù)器只存了個uuid在redis中作為key值,怎樣會有用戶的id信息呢?

這兒的確會有用戶的id信息,這個id信息是由手機服務(wù)器存入redis中的。具體操作如下:

手機端+服務(wù)器

話說,瀏覽器拿到二維碼后,將二維碼展現(xiàn)到網(wǎng)頁上,并給用戶一個提示:請?zhí)统瞿氖謾C,翻開掃一掃進(jìn)行登錄。用戶拿出手機掃描二維碼,就能夠得到一個驗證信息和一個uuid(掃描二維碼獲取字符串的功用在網(wǎng)上相同有許多demo,這兒就不具體介紹了)。由于手機端現(xiàn)已進(jìn)行過了登錄,在拜訪手機端的服務(wù)器的時候,參數(shù)中都回帶著一個用戶的token,手機端服務(wù)器能夠從中解析到用戶的userId(這兒從token中取值而不是手機端直接傳userid是為了安全,直接傳userid或許會被截獲和修正,token是加密的,被修正的風(fēng)險會小許多)。手機端將解析到的數(shù)據(jù)和用戶token一同作為參數(shù),向服務(wù)器發(fā)送驗證登錄申請(這兒的服務(wù)器是手機服務(wù)器,手機端的服務(wù)器跟網(wǎng)頁端服務(wù)器不是同一臺服務(wù)器)。服務(wù)器收到申請后,首要比照參數(shù)中的驗證信息,斷定是否為用戶登錄申請接口。如果是,回來一個確認(rèn)信息給手機端。

手機端收到回來后,將登錄確認(rèn)框顯現(xiàn)給用戶(避免用戶誤操作,一同使登錄愈加人性化)。用戶確認(rèn)是進(jìn)行的登錄操作后,手機再次發(fā)送申請。服務(wù)器拿到uuId和userId后,將用戶的userid作為value值存入redis中以uuid作為key的鍵值對中。

登錄成功

然后,瀏覽器再次發(fā)送申請的時候,瀏覽器端的服務(wù)器就能夠得到一個用戶Id,并調(diào)用登錄的方法,聲成一個瀏覽器端的token,再瀏覽器再次發(fā)送申請的時候,將用戶信息回來給瀏覽器,登錄成功。這兒存儲用戶id而不是直接存儲用戶信息是因為,手機端的用戶信息,不一定是和瀏覽器端的用戶信息完全一致。

登錄原理圖如下:

本文題目:網(wǎng)站建設(shè)時掃碼登錄是如何閃現(xiàn)的?
轉(zhuǎn)載來源:http://muchs.cn/news0/186350.html

網(wǎng)站建設(shè)、網(wǎng)絡(luò)推廣公司-創(chuàng)新互聯(lián),是專注品牌與效果的網(wǎng)站制作,網(wǎng)絡(luò)營銷seo公司;服務(wù)項目有網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)