【登录与令牌】用户获取Token的流程

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

你可能感兴趣的:(小程序,php)