微信小程序获取用户的openid
2019-02-14 18:03
225 查看
微信小程序获取用户的openid
我们在开发微信小程序的过程中会经常遇到需要获取到用户详细个人信息的数据微信小程序官方提供的内置方法只能获取到用户头像,昵称…一类的信息,获取不到openid一类的数据。这些数据都是通过微信小程序加密之后的存放在iv与encryptedData中,我们需要对iv进行解密才能获取到用户个人的openid一类的隐私信息,而iv与encryptedData需要通过
1.wx.login()方法先获取到code,
// 首先获取到获取用户信息的code,微信小程序官方说明code码的有效期只有5-10分钟左右 wx.login({ success: res => { // 获取到code后,发送 res.code 到后台换取 openId let code = res.code that.codeGetOpenid(code) } })
2.将code发送到后台,由后台给我们返回token等的信息
// 使用code换取openid codeGetOpenid(code) { let that = this; wx.request({ // 请求地址 url: 'https://www.baidu.com',//这里写公司内服务器的域名 // 将code发送到后台 data: { code }, // 请求方式 method: "POST", // 请求头 header: { 'content-type': 'application/x-www-form-urlencoded' // 默认值 }, // 成功回调 success(res) { if (res.data.code) { let ret = res.data.object // 通过openid请求数据,这里的openid不是用户的openid,而是后台返回给我们的openid that.authSetting(ret.openId) } } }) }
3.获取用户加密数据传递给后台进行解密
// An highlighted block // 获取用户加密数据 authSetting(openid) { let that = this; wx.getSetting({ success(res) { if (res.authSetting['scope.userInfo']) { // 已经授权,可以直接调用 getUserInfo 获取头像昵称 wx.getUserInfo({ success(userinfo) { // 通过openid请求用户详细数据 that.getuserData(userinfo, openid) } }) } } }) }
4.将IV与openId(后台返的)以及encryptedData传到后台,后台进IV和encryptedData进行解密处理,返回用户详细数据
// 获取用户详细信息 getuserData(userinfo, id) { let that = this wx.request({ url: 'https://www.baidu.com',//这里填写服务端的接口 //将数据发送到后 data: { iv: userinfo.iv, openId: id, encryptedData: userinfo.encryptedData }, method: "POST", header: { 'content-type': 'application/x-www-form-urlencoded' // 默认值 }, success(resp) { if (resp.data.code) { //这里的ret就是用户解密后的信息 let ret = resp.data.object } } }) }
这样下来就能成功的获取到用户的详细信息的了,虽然有点麻烦,但回头想想这样设计也对,毕竟用户的个人信息不能随便获取,必须经用户授权才能获取到。
版权声明:文章原创,转载请标明出处。谢谢https://blog.csdn.net/qq_40146638/article/details/87287608
相关文章推荐
- 微信小程序开发之用户系统 一键登录 获取session_key和openid
- 微信小程序 获取用户的openid
- 微信小程序授权获取用户详细信息openid的实例详解
- 微信小程序获取用户openid,头像昵称信息,后台java代码
- 微信小程序之获取并解密用户数据(获取openId、unionId)
- 微信小程序案例:获取微信访问用户的openid
- 微信小程序开发之用户系统 一键登录 获取session_key和openid
- 微信小程序例子——获取用户唯一标识openid
- 微信小程序之获取并解密用户数据(获取openId、unionId)
- 微信小程序获取用户openId的实现方法
- 微信小程序案例:获取微信访问用户的openid
- 微信小程序开发(四)获取用户openid
- 微信小程序获取用户openid
- JAVA微信小程序之获取并解密用户数据(获取openId、unionId)
- 微信小程序授权获取用户详细信息openid的实例详解
- 微信小程序授权获取用户详细信息openid
- 微信小程序获取用户OpenId
- 微信小程序获取用户openId
- 微信小程序 获取用户信息(包括openId等敏感信息)
- 微信小程序 获取用户信息(包括openId等敏感信息)