微信公众号授权绑定第三方应用
目錄
一、網頁授權
1、第三方應用掃碼綁定公眾號
2、微信端授權綁定第三方賬號,一次授權后續免登錄
?
一、網頁授權
微信開發者文檔
這里的兩個業務場景
主要是通過靜默授權實現,該授權鏈接只能在微信客戶端打開,主要是依賴微信授權鏈接中的回調url來滿足業務場景。
1、第三方應用掃碼綁定公眾號
前端首先根據微信的網頁授權鏈接(回調頁需要帶上當前用戶id)生成一個二維碼,微信掃碼后會自動去請求該鏈接,然后跳轉到回調頁面(該頁面可展示基本企業信息以及當前用戶信息,然后增加一個綁定按鈕即可),點擊綁定時將獲得的code和userId傳給后端,后端進行綁定。
2、微信端授權綁定第三方賬號,一次授權后續免登錄
?
大概有兩種方案實現
第一種是通過前端進行跳轉頁面實現(會存在多次跳轉的情況出現)
點擊鏈接:如果此時后端返回token過期或沒有,向微信授權鏈接(回調url為應用登錄頁)發送請求,進到登錄頁后調用后端根據微信返回的code查詢token接口,后端先根據code查詢當前微信用戶的openid,然后看是否已與應用賬號進行綁定,如綁定直接計算token返回;前端判斷如果有token,此時則跳轉到應用首頁,反之留在登錄頁;若留在登錄頁,在調用登錄驗證完成接口之后,前端再次調用微信授權鏈接(回調url為應用首頁),進到首頁后前端調用后端根據微信返回的code綁定當前用戶即可,這樣以后只要在同一個微信號下面點開鏈接均無需登錄,實現一次授權后續免登錄。
第二種是通過后端進行重定向實現(本來采用該方式進行開發測試,由于環境映射問題以及一些客觀原因放棄調試,改為第一種,該方式在跳轉時用戶完全無感知)
點擊鏈接:不管什么鏈接,前端直接向微信授權鏈接(回調url為后端的重定向接口)發送請求,后端在重定向接口中根據微信返回的code獲取openid,然后判斷是否已有綁定賬號,若有則重定向到首頁同時帶上token,若無則重定向到登錄頁;后續登錄頁操作與第一種類似。
該方案沒有經過調試,我唯一不確定的就是后端在重定向到首頁時,應該也會喚醒正常進入到首頁會觸發的一系列接口吧?理論上來說會,由于當時映射問題沒經過測試,如果嫌跳轉次數太多可以嘗試下該方案。
總結
以上是生活随笔為你收集整理的微信公众号授权绑定第三方应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java3D桌球7723_极品桌球3D豪
- 下一篇: 【Linux】E297: Write e