欢迎来到258分享网,纯净的网络源码分享基地!

258资源分享网

全部作品
全部作品
网站源码
微信源码
素材特效
源码插件
视频教程
建站学院
热门搜索: 织梦  农业种植  农业  安全设置  官方
258资源分享 > 建站学院 > 微信开发 > 微信小程序后台解密用户数据

推荐下载

HTML5响应式自适应网咯设计

2020-05-12   浏览:789

HTML5自适应律师工作室类网

2020-04-04   浏览:654

高端HTML5响应式企业通用网

2020-05-06   浏览:560

html5响应式外贸网站英文版

2020-05-08   浏览:545

HTML5影视传媒文化公司类网

2020-05-12   浏览:543

微信小程序后台解密用户数据

发布时间:2020-12-29  

微信小程序API文档:https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-login.html

openId : 用户在当前小程序的唯一标识

因为最近根据API调用https://api.weixin.qq.com/sns/jscode2session所以需要配置以下服务,但是官方是不赞成这种做法的,

而且最近把在服务器配置的方法给关闭了。也就是说要获取用户openid,地区等信息只能在后台获取。

一下是官方的流程

 

那么问题来了,代码怎么实现呢,以下是用java后台的实现

 

微信客户端的代码实现是这样的

[html] view plain copy

 

wx.login({  

      success: function (r) {  

        if (r.code) {  

          var code = r.code;//登录凭证  

          if (code) {  

            //2、调用获取用户信息接口  

            wx.getUserInfo({  

              success: function (res) {  

                //发起网络请求  

                wx.request({  

                  url: that.data.net + '/decodeUser.json',  

                  header: {  

                    "content-type": "application/x-www-form-urlencoded"  

                  },  

                  method: "POST",  

                  data: {  

                    encryptedData: res.encryptedData,  

                    iv: res.iv,  

                    code: code  

                  },  

                  success: function (result) {  

                    // wx.setStorage({  

                    //   key: 'openid',  

                    //   data: res.data.openid,  

                    // })  

                    console.log(result)  

                  }  

                })  

              },  

              fail: function () {  

                console.log('获取用户信息失败')  

              }  

            })  

          } else {  

            console.log('获取用户登录态失败!' + r.errMsg)  

          }  

  

        } else {  

        }  

      }  

    })  

 

(服务端 java)自己的服务器发送code到微信服务器获取openid(用户唯一标识)和session_key(会话密钥),

最后将encryptedData、iv、session_key通过AES解密获取到用户敏感数据

  1、获取秘钥并处理解密的controller

[java] view plain copy

 

/** 

     * 解密用户敏感数据 

     * 

     * @param encryptedData 明文,加密数据 

     * @param iv            加密算法的初始向量