從微信掃碼授權到登錄網頁,中間究竟發生了什么?
當前位置:點晴教程→知識管理交流
→『 技術文檔交流 』
導讀 這篇文章是關于微信掃碼授權登錄第三方網頁的學習筆記。先在微信開放平臺申請配置,獲取相關參數生成二維碼,微信 SDK 輪詢檢測不同掃碼狀態有不同狀態碼,根據狀態和 code 重定向到后臺,后臺獲取用戶信息,如 Gitee 存 Cookie 重定向主頁完成登錄。 ?? 背景
?? 微信開放平臺申請
?? 獲取網頁的二維碼
這個二維碼是微信生成的,我們只需要按下面的格式鍵入正確的地址和參數就可以獲取: https://open.weixin.qq.com/connect/qrconnect?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect 該請求所需要配置的參數列表為:
我們以知乎的舉例,可以拿到知乎的登陸的二維碼的URL為: https://open.weixin.qq.com/connect/qrconnect?appid=wx268fcfe924dcb171&redirect_uri=https://www.zhihu.com/oauth/callback/wechat?action=login&from=&&response_type=code&scope=snsapi_login#wechat 看上面的URL我們可以得出它的參數列表為:
?? 輪詢請求檢查狀態
我們具體來分析一下這個輪詢的方法,可以看到這個輪詢的方法里面有兩個參數:
如果我們長期不掃碼,它就會一直輪詢請求,在過去一定時間后會刷新二維碼,如果不掃碼,它返回的結果就一直為: ?? 微信掃一掃?? 1.掃碼成功在我們進行掃碼之后,頁面會變為: 此時進行輪詢的接口的查看響應,可以發現是 ? 2.授權失敗手機上的頁面為,在掃碼成功后,就會調起 如果拒絕授權,返回的狀態碼就為:
? 3.授權成功
3.1 Gitee實現方案這里我看Gitee的方案是,在請求到這個接口后,在cookie中存入個人信息,并重定向回網頁(后臺進行重定向): 重定向回了 3.2 知乎實現方案而知乎的做法是返回一段前端代碼,然后調用了一個登錄的接口,進而重定向到主頁: ?? 總結至此,從微信掃碼授權登錄到網頁獲得授權信息成功登陸的具體流程就講完了,大概的過程就是:
??友鏈作者:派大金 鏈接:https://juejin.cn/post/7216293600484409403 來源:稀土掘金 著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。 該文章在 2025/1/15 13:05:05 編輯過 |
關鍵字查詢
相關文章
正在查詢... |