登录流程

- 小程序通过
wx.login获取code(用户登录凭证,有效期五分钟,使用一次后实效) - 服务端拿到
code,调用code2Session,获取用户的openid(用户在当前应用的唯一标识)、unionid(用户在开发平台的唯一标识)session_key(会话秘钥是对用户数据进行 加密签名 的秘钥,在获取用户信息时会用到) 等信息。为了安全,服务器不应该把会话秘钥下发到小程序,也不应该对外提供这个秘钥 - 通过
unionidopenid自定义服务端登录态
获取用户信息
- 用户授权后,小程序通过
wx.getUserInfo获取用户信息,敏感信息被加密 - 把加密信息传给服务端,使用在登录时获取的
session_key解密数据,解密方法可以看微信的 开放数据校验与解密文档
获取手机号
需要用户主动触发才能发起获取手机号接口,所以该功能不由 API 来调用,需用 <button> 组件的点击来触发。获取手机号文档。
- 小程序通过
<button>组件触发getPhoneNumber事件,获得加密后的信息 - 把加密信息传给服务端,使用在登录时获取的
session_key解密数据,获得用户绑定的手机号