基于 Workerman實(shí)現(xiàn)Web掃描登錄的方法

web 掃碼登錄實(shí)現(xiàn)

基于 workerman做了一個(gè)掃碼登錄示例,給有需要的朋友參考一下。發(fā)現(xiàn)問(wèn)題,歡迎指正。

實(shí)現(xiàn)流程圖

基于 Workerman實(shí)現(xiàn)Web掃描登錄的方法

運(yùn)行流程

①:用戶 A 訪問(wèn)微信網(wǎng)頁(yè)版,微信服務(wù)器為這個(gè)會(huì)話生成一個(gè)全局唯一的 ID,上面的 URL 中 obsbQ-Dzag== 就是這個(gè) ID,此時(shí)系統(tǒng)并不知道訪問(wèn)者是誰(shuí)。

②:用戶A打開(kāi)自己的手機(jī)微信并掃描這個(gè)二維碼,并提示用戶是否確認(rèn)登錄。

③:手機(jī)上的微信是登錄狀態(tài),用戶點(diǎn)擊確認(rèn)登錄后,手機(jī)上的微信客戶端將微信賬號(hào)和這個(gè)掃描得到的 ID 一起提交到服務(wù)器

④:服務(wù)器將這個(gè) ID 和用戶 A 的微信號(hào)綁定在一起,并通知網(wǎng)頁(yè)版微信,這個(gè) ID 對(duì)應(yīng)的微信號(hào)為用戶 A,網(wǎng)頁(yè)版微信加載用戶 A 的微信信息,至此,掃碼登錄全部流程完成。

掃碼登錄看起來(lái)神奇,主要是因?yàn)槲⑿?APP 掃自家的碼會(huì)做一些普通二維碼軟件不會(huì)做的額外的操作,那就是將當(dāng)前已登錄的微信和掃出來(lái)的 ID 提交到微信服務(wù)器,類似的應(yīng)用還有掃碼支付、掃碼加公眾號(hào)等功能。

以上內(nèi)容來(lái)自互聯(lián)網(wǎng)。

說(shuō)明

基于workerman/gateway 框架編寫(xiě). web服務(wù)也可以使用 apache, nginx來(lái)代替。掃碼工具我用的手機(jī)掃碼來(lái)代替的,也可直接獲取到一個(gè)url,放到另一個(gè)瀏覽器窗口模擬掃描二維碼的過(guò)程。生產(chǎn)環(huán)境肯定是用app掃描的。

獲取示例源碼

https://github.com/wanglelecc/workerman-qrcode-login-for-win

運(yùn)行示例(Win)

windows 下雙擊 login_start_for_win.bat 即可

放1張預(yù)覽圖:

基于 Workerman實(shí)現(xiàn)Web掃描登錄的方法

注:這只是一個(gè)示例,給大家提供一個(gè)思路。真正的使用,還有很多需要改進(jìn)的地方。

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊6 分享