字数:631

引言

本篇主要内容如下:

  1. 介绍基本的小程序授权登录时序、流程,参考ofo的实现
  2. 介绍签名通信的解决方案

1 小程序登录时序

小程序的登录,可以设计为微信登录或手机登录,下面讲的微信授权登录,基本上,微信授权的就两个请求,由小程序获得数据,由小程序的后台获得密钥进而解密数据。 为什么分开,一是把密钥给后台更安全,二是小程序获得的数据里有一部分是非加密的,如果够用不用再解密敏感数据。具体时序图如下:
sequence.jpg

2 小程序登录流程

这个流程是项目中需要而定的,非标准的流程,主要达到几个目标:

  • 支持手机登录方式和微信授权登录两种方式
  • 已登录则记住状态,免登录
  • 切换登录则退出登录状态
  • 上次用微信登录的,这次又用微信登录则实质执行免登录
  • 上次是手机登录,这次用微信登录则验证微信数据

详情如下图:
flow_login.jpg

3 签名通信

用于小程序与后台的接口调用,详情见用js生成md验证内容