【扫码登录的逻辑以及关于扫码登录的思考】
掃碼登錄的邏輯以及關于掃碼登錄的思考
- 掃碼登錄邏輯概述
- 流程概述:
- 關于掃碼登錄的應用場景
- 關于掃碼登錄的思考
掃碼登錄邏輯概述
流程概述:
1、當用戶打開門戶網站時,瀏覽器請求服務器獲取一個隨機唯一序列用于識別本次的登錄操作,同時瀏覽器每隔一段時間就請求服務器,查詢本次隨機序列當前的狀態,例如,已掃碼請在手機端確認登錄、登錄成功、或者是已經失效需要重新生成等。
2、用戶使用手機掃碼[^思考點] ,此時手機會將用戶的信息以及本次的隨機序列發送至服務器
3、服務器收到以后根據用戶信息,以及本次序列查詢到用戶的密碼,或者直接進行免密登錄后生成一個token,并將token與唯一序列綁定在一起。
4、此時pc端瀏覽器通過每隔一段時間的請求,發現本次隨機序列已經生成了token,則獲取到token以后,用于之后請求的身份驗證
一次掃碼登錄的大概邏輯就是這樣了,就針對于功能的實現來說,這幾步便可以實現一次掃碼登錄流程。至于安全性等不得不考慮的問題,可以針對性的添加到上面的步驟中。步驟中隨機序列的生失效,以及免密登錄等細節就此忽略。
關于掃碼登錄的應用場景
掃碼登錄對于用戶的體驗來說,用戶不需要輸入賬號密碼,不需要進行短信驗證等,只需要掃一掃,點擊確定即可。
根據流程來看,必不可少的一步就是服務器如何拿到用戶的信息,從而實現后面的登錄流程。想拿到用戶的信息就需要手機端已經登錄,那就肯定需要一個app,在app已經的登錄的情況下,進行掃碼登錄,流程才能走通,所以掃碼登錄便被限制于同時擁有移動端app以及pc端應用或瀏覽器的服務。
關于掃碼登錄的思考
1、其實用戶id并不是必須的,我們只需要拿到用戶恒不變的,唯一的一個依據就好,那我首先想到的就是手機的唯一串碼了,如果我們能拿到唯一串碼,那么只需要在首次登錄的時候將用戶的串碼和用戶信息保存在一起,登錄的時候根據串碼獲取用戶信息即可,此時,用戶隨便用瀏覽器,甚至相機自帶的掃碼功能即可實現登錄,但是,當然沒有這么簡單,為了保護用戶安全,瀏覽器是禁止獲取手機的這個唯一串碼,必須有app,并且app獲取到相關權限才可以。
2、繼續深究,有沒有其他能代替的用戶唯一id?此ID需要每個用戶都不同,且可以做到用戶不換設備就不發生改變,并且用瀏覽器就可以獲取到的,緊接著看到了一片文章link ,文章里說根據顯卡的不同,可以使用canvas獲取到瀏覽器唯一的指紋信息,如果可以的話,那只需要在首次登錄的時候在移動端瀏覽器進行,登錄的同時將指紋信息與用戶信息綁定,此后用戶使用此瀏覽器掃一掃便可根據指紋信息進行掃碼登錄。考慮到用戶可能有多個設備,多個瀏覽器,可以考慮將指紋信息與用戶信息進行多對一關聯,由于前端知識的欠缺,研究就暫時止步于此吧,畢竟實現它的價值并不大。
3、不得不稱贊微信、支付寶、京東等的掃碼登錄,實在是方便了很多
總結
以上是生活随笔為你收集整理的【扫码登录的逻辑以及关于扫码登录的思考】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux如何搭建sftp服务器
- 下一篇: 营业执照在线生成_潍坊综合保税区发出全省