文章目录
场景
- 这段时间在做一个小程序, 涉及到登陆,以及需要和服务器数据交互的问题
登陆分析 && 实现
- 和服务器交互
- 需要申请token 我选用的是laravel personal token
- 登陆(注册)
- 如果在缓存中校验到用户信息的话 则直接登陆
- 如果没有缓存,
- wx.login() 调用接口获取登录凭证 code
- api/v1/mini/session 获取话密钥session_key
- 这是个自定义的接口, 获取session_key是需要请求微信的https://api.weixin.qq.com/sns/jscode2session的接口, 但是微信不允许在小程序内部调用 所以需要自己的接口中专下
- wx.getUserInfo 获取用户信息(敏感信息被加密)
- api/v1/mini/explainer 解密敏感信息
- 传递session_key 和敏感加密信息到自己的接口 (但是解密的方法微信已经提供了)
- api/v1/mini/login 注册或者登陆
- open_id 如果不存在对应的用户 则重新注册
- api/v1/mini/token 生成personal token
- 这部分自己实现
- 已经每次请求都要带着对应的token