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