微信小程序用户信息接口实现总结
官方文档:
https://mp.weixin.qq.com/debug/wxadoc/dev/api/
微信小程序登录流程(wx.login(OBJECT))
1、调用接口获取登录凭证(code)
注意: code–用户登录凭证(有效期五分钟),开发者需要在开发者服务器后台调用 api。
2、将code传入后台服务器,向微信端发送请求,使用code换取用户登录态信息,包括用户的唯一标识(openid) 及本次登录的 会话密钥(session_key)等(用户数据的加解密通讯需要依赖会话密钥完成),存储在后台缓存中。
code 换取 session_key返回参数列表:
参数 | 说明 |
---|---|
openid | 用户唯一标识 |
session_key | 会话密钥 |
unionid | 用户在开放平台的唯一标识符。本字段在满足一定条件的情况下才返回。 |
通过上述接口获得的用户登录态拥有一定的时效性。用户越久未使用小程序,用户登录态越有可能失效。反之如果用户一直在使用小程序,则用户登录态一直保持有效。具体时效逻辑由微信维护,对开发者透明。开发者只需要调用wx.checkSession接口检测当前用户登录态是否有效。登录态过期后开发者可以再调用wx.login获取新的用户登录态。
wx.checkSession(OBJECT)调用方法参见官方文档。
获取微信用户基本信息流程(wx.getUserInfo(OBJECT))
1、首先调用wx.login登录接口(此过程需要用户授权 scope.userInfo同意后才能调用),详细调用参数参考官方文档
2、接收微信返回参数,包括敏感数据在内的完整用户信息的加密数据encryptedData及加密算法的初始向量iv
3、将encryptedData、iv参数传至后台服务器解密后存储
参数 | 类型 | 说明 |
---|---|---|
encryptedData | String | 包括敏感数据在内的完整用户信息的加密数据 |
iv | String | 加密算法的初始向量 |
解密后参数列表:
参数 | 类型 | 说明 |
---|---|---|
nickName |