微信oauth前后端分離實現(xiàn)
在前后端分離的基礎(chǔ)上,實現(xiàn)微信的oauth機(jī)制
如何獲取微信用戶信息
頁面如果需要獲取當(dāng)前用戶信息,可以從四個途徑獲取,優(yōu)先級分別為:
- redux 用戶信息
- localstorage 存放的用戶ID(openId)
- url 入?yún)ⅲ╫penId)
- 使用微信的oauth機(jī)制從url的入?yún)Щ豲penId
獲取用戶信息時序圖(非oauth)
以下流程只描述不需要微信授權(quán)時的調(diào)用時序

非oauth獲取用戶信息
獲取用戶信息時序圖(oauth)
當(dāng)頁面無法從(redux、localstorage、url)識別用戶時,需要啟動微信授權(quán)機(jī)制,獲取并存儲用戶信息
微信網(wǎng)頁授權(quán)步驟
- 第一步:用戶同意授權(quán),獲取code
- 第二步:通過code換取網(wǎng)頁授權(quán)access_token
- 第三步:刷新access_token(如果需要)
- 第四步:拉取用戶信息(需scope為 snsapi_userinfo)

oauth獲取用戶信息