1. 程式人生 > >微信授權(前後端分離授權)

微信授權(前後端分離授權)

微信授權分為以下四步:

我認為我們前端需要的步驟是 

1、判斷收否授權。

2、如果沒有,跳轉到微信提供的第三方授權連結。

3、使用者點選授權,微信自動會跳轉一個重定向頁面,也就是回撥頁面。

4、前端獲取到重定向連結上的code,擷取下來發送個後端。(這個連結地址是你自己設定的,就是授權成功你需要跳回的頁面,然後微信會在這個頁面上地址上加上一個code。

5、後端會根據傳過去的code,想第三方請求頭像暱稱等;

後面的事情就是交給後端了

第一步:從這個連結可以中前端只需要知道的就是appid,redirect_uri,scope這三個引數就好啦;

appid: 公眾號的唯一標識,比如wxca78bba21a91b789;

redirect_uri: 頁面授權後的回撥頁面,授權後重定向的回撥連結地址, 請使用 urlEncode 對連結進行處理

 比如: www.test.com/index,通過urlEncode處理後是www.test.com%2Findex;

scope: 應用授權作用域,snsapi_base (不彈出授權頁面,直接跳轉,只能獲取使用者openid),snsapi_userinfo (彈出授權頁面,可通過openid拿到暱稱、性別、所在地。並且, 即使在未關注的情況下,只要使用者授權,也能獲取其資訊 )

完整例項: 

我們前端需要做的事情當用戶沒有授權時,引導使用者跳轉到這個連結進行會授權;一旦使用者點選同意就會出現第二步的操作。第二步的重點是你要設定一個回撥頁,微信會在你的回撥頁地址給你返回一個code

第二步: 在redirect_uri: 頁面授權後的回撥頁面上,我們會擷取微信服務端給我們返回的code,我們將code傳給後端即可;

後端會根據你傳過去的code給前端返回對應的uid(使用者id),以及openid等;

嗯。。。。到這一步位置呢前端就差不多啦

前端向後端發起一個請求:ajax('傳送code:125465ASDFAseg788') ,這一步傳送給後端,後端可以獲取到使用者的資訊,頭像,呢稱等;

後端會但會一個data: 比如(uid(使用者id),以及openid)

最後你就可以通過openid判斷使用者是否授權啊登入等功能

第三步: 後端處理

第四步: 後端處理