收藏
回答

企业微信开发jsapi验证签名失败

在企业微信内部应用开发中,需要用到调起PC端默认浏览器的js-api接口,需要先进行wx.config验证签名,签名验证时总是报错40093,根据官网文档排查问题,经确认jsapi_ticket准确无误,在确认【当前页面的url】这个参数时产生疑问,内部应用是采用应用管理后台配置的欢迎页,访问该应用企业微信会访问设置好的欢迎页,在欢迎页点击按钮,会调用应用后端验签接口,那我理解当前页面的url应该就是打开的这个欢迎页的url,但是怎么尝试都无法完成验签,都是报错40093,还望有大神能提供帮助。

WxAccountDTO wxAccountDTO = wxAccountService.getJsApiTicket();
      //随机字符串
      String nonceStr = "ninebot";
      //时间戳
      long timestamp = System.currentTimeMillis();
      //当前页面的url
      String url = request.getParameter("url");
      logger.debug("url:"+url);
      StringBuilder stringBuilder = new StringBuilder();
      stringBuilder.append("jsapi_ticket=");
      stringBuilder.append(wxAccountDTO.getJsapiTicket());
      stringBuilder.append("&noncestr=");
      stringBuilder.append(nonceStr);
      stringBuilder.append("×tamp=");
      stringBuilder.append(timestamp);
      stringBuilder.append("&url=");
      stringBuilder.append(url);
      //生成签名
      String string1 = stringBuilder.toString();
      String signature = DigestUtils.sha1Hex(string1);
      JSONObject jsonObject = new JSONObject();
      //企业id
      jsonObject.put("appId", wxAccountDTO.getAccountid());
      jsonObject.put("timestamp", timestamp);
      jsonObject.put("nonceStr", nonceStr);
      jsonObject.put("signature", signature);
      Result ok = new Result().ok(jsonObject);
      logger.debug(JSONObject.toJSONString(ok));
最后一次编辑于  02-03
回答关注问题邀请回答
收藏

1 个回答

  • 企业微信运营专员-千夜
    企业微信运营专员-千夜
    02-04

    你好,jsapi签名验证错误可以先根据这些点排查下

    https://work.weixin.qq.com/api/doc/90000/90136/90509,还没有解决的话给下corpid 应用agentid 校验config时间点看看

    02-04
    有用
    回复 2
    • G。
      G。
      02-04
      corpid:ww8849c8c5d1dd437d;agenid:1000002; 校验时间:2021-02-04 16:32:03   麻烦帮忙看下 谢谢
      02-04
      回复
    • 企业微信运营专员-千夜
      企业微信运营专员-千夜
      02-04回复G。
      js_sign_not_same, pcSignature 9c3ffaf4a74976204d8ecea838a29d194896a30c, oReq.signature() 0623212f7c81983fc81181ffbdc7a9891559b395, sJsapiTicket HoagFKDcsGMVCIY2vOjf9ifFo5s37OGygDcm7QUUsH-q_r3IQphFJsu9TpZSRzaIMHcaWKcp7IGJ1QFMR3NxPQ  看日志也是签名不匹配,还是需要自行检查下
      02-04
      回复
登录 后发表内容
问题标签