後臺在發放Token時,須要建立接口。數據庫
0.配置 1.路由 2.控制器 3.驗證器[沒帶code,再見!] 4.service 1.構造函數拼接地址 2.獲取session_key及openID 3.生成Token 4.準備緩存數據 5.寫入緩存 5.異常處理 6.完善控制器
首先,根據小程序客戶端傳給接口的code,和appid、secret一塊兒拼接url到小程序服務器請求session_key和openID,這裏要作一些異常處理,包括code被使用過或者失效、接收微信服務器返回的錯誤碼等等。
具體作了如下分類供參考:小程序
結果1. result爲空 直接返回--微信內部異常 結果2. result包含errcode 登陸異常,返回錯誤信息和錯誤碼 結果3 .成功 生成token
而後,在正確接收到openID以後,就能夠生成token了,緩存
1.根據得到的openid判斷數據庫中是否存在openid對應的user 2.若不存在,新增一條user記錄newUser($openid),以openid爲標識。爲了減輕數據庫壓力,在系統的相關查詢中仍使用uid:$uid。 3.若存在:$uid = $user->id; 4.將用戶id和權限以及生成的token等寫入緩存;
最後,將生成的token返回給客戶端就OK啦。服務器