后台在发放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啦。服务器