微信oauth前后端分離實(shí)現(xiàn)
在前后端分離的基礎(chǔ)上,實(shí)現(xiàn)微信的oauth機(jī)制
如何獲取微信用戶信息
頁(yè)面如果需要獲取當(dāng)前用戶信息缩麸,可以從四個(gè)途徑獲取桂敛,優(yōu)先級(jí)分別為:
- redux 用戶信息
- localstorage 存放的用戶ID(openId)
- url 入?yún)ⅲ╫penId)
- 使用微信的oauth機(jī)制從url的入?yún)Щ豲penId
獲取用戶信息時(shí)序圖(非oauth)
以下流程只描述不需要微信授權(quán)時(shí)的調(diào)用時(shí)序
獲取用戶信息時(shí)序圖(oauth)
當(dāng)頁(yè)面無(wú)法從(redux、localstorage筷弦、url)識(shí)別用戶時(shí)肋演,需要啟動(dòng)微信授權(quán)機(jī)制,獲取并存儲(chǔ)用戶信息
微信網(wǎng)頁(yè)授權(quán)步驟
- 第一步:用戶同意授權(quán)烂琴,獲取code
- 第二步:通過(guò)code換取網(wǎng)頁(yè)授權(quán)access_token
- 第三步:刷新access_token(如果需要)
- 第四步:拉取用戶信息(需scope為 snsapi_userinfo)