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