業務中先後端分離下的微信受權流程記錄
這個是微信受權的流程前端
https://mp.weixin.qq.com/wiki...後端
https://mp.weixin.qq.com/wiki...微信
我以爲微信的文檔受權流程還算清晰易懂,但是不太清楚具體是哪部分前端作,哪部分後端作前後端分離
致使在業務中,折騰了很多時間,特此記錄一下業務實踐。url
- 第一步,當進入須要受權的頁面時,「前端」向「微信」發起受權請求,前端須要提供redirect_uri,這個redirect_uri就是後端提供的一個接口地址
- 第二步,微信的受權頁面會被喚出,用戶若是點擊【贊成受權】,「微信」會跳轉至 redirect_uri/?code=CODE&state=STATE
- 第三步,「微信」會跳轉至 redirect_uri/?code=CODE&state=STATE,其實就等於微信訪問了後端的接口,後端能夠取到code
以後一系列操做,後端根據業務需求拉取信息,好比憑藉code換取access_token,而後拉取openid等用戶信息code
- 第四步,後端拿到這些信息以後如何返回給前端呢,可讓後端重定向到前端頁面,並把openid等信息,以?的形式,掛在url後面
- 第五步,前端在須要受權的頁面,從url的查詢字符串裏,獲取openid等用戶信息就能夠啦
須要注意redirect_uri是須要公衆號後臺配置的。而且不帶開頭httptoken
在咱們這個方案當中,redirect_uri 配置的是後端的某一個接口地址接口