微信小程序> unionid,小程序篇 获得unionID

unionid,小程序篇 获得unionID

浏览量:901 时间: 来源:棉裤开档
需要把小程序放在同一个微信开发者下
1先按照loginInfo信息查询有无有unionID2如果有,直接返回,程序结束3如果没有,将用于解密的session_key获取4根据userInfo拿取encryptedData等加密数据5对加密数据进行逆解密6拿到unionID返回,程序结userInfo注意一下:通过user.getInfo获取的和通过button授权获取的格式不一样
/根据logininfo的code尝试获取unionID@paramrequest@return/publicstaticMapString,StringgetUnionIDByLoginInfo(StringresCode,HttpServletRequestrequest){JSONObjectloginRes=null;MapString,StringloginResMap=newHashMap();try{//网址看参数说明:https://developers.weixin.qq.com/miniprogram/dev/api/api-login.html#wxloginobjectStringurl=SysConstants.WEICHAT_UNIONID_URL+"?appid="+SysConstants.WECHAT_APPID+"&secret="+SysConstants.WECHAT_SECRET+"&js_code="+resCode+"&grant_type="+SysConstants.WECHAT_FRANT_TYPE;loginRes=HttpClientUtils.doGet(url);}catch(Exceptione){thrownewRuntimeException(e);}Stringopenid=(String)loginRes.get("openid");Stringsession_key=(String)loginRes.get("session_key");【如果没有需要解密】Stringunionid=(String)loginRes.get("unionid");【判断有没有】loginResMap.put("openid",openid);loginResMap.put("unionid",unionid);loginResMap.put("session_key",session_key);returnloginResMap;}session_key解密encryptedDataiv
/@paramsession_key@return/publicstaticJSONObjectdecipherByUserInfo(Stringsession_key,StringencryptedData,Stringiv){LOG.info("start解密需要的数据为:encryptedData:{},iv:{},session_key:{}",encryptedData,iv,session_key);//被加密的数据byte[]dataByte=Base64.decodeBase64(encryptedData.replaceAll("","+"));//加密秘钥byte[]aeskey=Base64.decodeBase64(session_key);//偏移量byte[]ivByte=Base64.decodeBase64(iv.replaceAll("","+"));StringnewuserInfo="";try{AESaes=newAES();byte[]resultByte=aes.decrypt(dataByte,aeskey,ivByte);if(null!=resultByte&&resultByte.length0){newuserInfo=newString(resultByte,"UTF-8");LOG.info("end解密完毕,解密结果为newuserInfo:{}",newuserInfo);returnJSONObject.parseObject(newuserInfo);}}catch(Exceptione){LOG.info("解密异常!检查解密数据{}",newuserInfo,e);e.printStackTrace();}returnnull;}转载地址:

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎