1. 程式人生 > 其它 >微信公眾號網頁授權流程

微信公眾號網頁授權流程

在微信開發中,微信公眾號可以配置自己的頁面,當用戶進入我們的公眾號跳轉進入我們第三方頁面的時候,需要一個使用者標記,也就是微信授權使用者資訊給我們,我們可以拿到使用者的 open_id 對使用者進行標記

流程

1 使用者點跳轉頁面(跳轉url在微信開放平臺中配置, 如: https://www.baidu.com/index.html)

使用者跳轉的時候是什麼都沒有攜帶的,頁面載入完成後會觸發js事件, 這時候 index.html 中js 會有相應的判斷, 如果 url中什麼沒有code引數,就代表這個使用者是剛跳轉進來, 需要讓使用者跳轉到使用者授權頁面(這個授權頁面接收讓使用者同意獲取使用者open_id 之類的資訊, 使用者授權頁面可以是有gan)


當用戶進入我們的頁面的時候js判斷是否授權,如果沒有授權就獲取授權地址重定向到授權頁面上進行授權,

授權地址中的引數有 公眾號的appid, scope 是否需要使用者手動授權,redirect_url 授權回撥地址, response_type=code 使用者授權資訊,回撥的時候放在回撥地址引數中,引數名稱是code

微信內建瀏覽器會將當前的使用者資訊新增到授權url中,授權url多了幾個使用者測試: uin (使用者對於公眾號唯一id,base64轉碼結果), key(公眾號和uin繫結的token,過期時間大概半小時), pass_ticket (另一個驗證碼, 與uin繫結),

當我們點選同意後,就會向微信的授權介面傳送授權引數,

授權引數如下

uuid(授權頁面中帶上的) , snsapi_base 或 snsap_userinfo (是否使用者手動同意), allow(同意或on,無感授權的時候就是on),uin, key, pass_ticket, version

當授權完後會自動302重定向到我們配置的回撥地址, 回撥地址中攜帶 使用者授權引數 code

這時候我們的js就可以到使用者授權資訊了,js獲取到使用者授權code 請求給後端,後端通過 微信公眾號 appid 和 金鑰 和 這個code 獲取使用者的open_id 和 access_token , 然後通過open_id 和 access_token 獲取真正的使用者資訊