微信掃碼登陸流程


微信開放平台登錄功能

PC 網站的微信掃碼登陸有兩種,一種是微信開放平台提供的,參考文檔:https://developers.weixin.qq.com/doc/oplatform/Website_App/WeChat_Login/Wechat_Login.html

這種技術實現是通過 OAuth2.0 授權登錄,授權並經過用戶同意后獲取用戶信息,然后在平台進行登陸獲取平台登錄態。

表現方式為,PC 瀏覽器根據自己的 AppID 調用微信的 JS SDK,創建一個登陸二維碼,其中有登陸成功的回調地址。彈出微信頁面,頁面顯示一個微信二維碼。用戶微信掃碼授權后,彈出頁面重定向到回調地址。業務根據回調地址處理登陸邏輯。

優點是微信處理好了大部分邏輯,業務只需要完善成功的回調邏輯。

缺點是用戶掃碼后還要點擊授權,不能實現要求用戶關注公眾號。我們采用下面的方式實現。

微信公眾號組合接口實現登陸

表現方式為,頁面請求后端獲取一個微信的二維碼,然后顯示該二維碼,並開始輪詢后端,等待掃碼結果(輪詢等待 5 分鍾二維碼過期)。

用戶掃碼后(未關注公眾號的需要關注公眾號)輪詢接口返回用戶 jwt 並且重定向到登錄結果頁。

需要了解的官方文檔

主要流程

說明:

access_toke 有效期為兩個小時,統一由一個定時任務一個小時刷新一次並保留到 Redis,刷新后5分鍾內新老access_token都可用,業務一般不用特殊考慮。

scene_str 可以根據一定規則創建,事件推送監聽可以根據不同規則生成的 scene_str 來處理不同的業務邏輯(不一定只是登陸邏輯)。

v_code 類似一個隨機字符串效驗碼,前端輪詢的時候帶上並在后端做效驗防止偽造攻擊。

微信掃碼登錄並關注公眾號


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM