通过微信,小程序以微信账号授权方式进行登录,以用户为核心,减少繁琐注册和输入密码操作,降低用户使用成本。会话管理,大致包含用户登录以及维护用户的登录状态。
处理用户登录
简化流程
- 小程序:客户端
- 业务服务器、会话服务器:服务端
- 客户端,发起wx.login获得code
- 客户端,发起wx.getUserInfo获得encryptedData、iv
- 服务端,发送参数(code、encryptedData、iv),请求微信服务器得到openid,解密出用户信息,完成自动注册及登录保持。
- 服务端,用户信息key-value方式保存到redis或者缓存服务(充当session)上,key返回给小程序端。
- 客户端,接受返回用户信息和key,保存到本地缓存localstorage
- 交换请求,带上key进行登录鉴权
服务端登录代码
|
|
参考资料
- 微信小程序开源全栈基础项目:https://github.com/tencentyun/wafer
- 微信小程序api:https://mp.weixin.qq.com/debug/wxadoc/dev/api/