收藏
回答

企业微信获取ticket回调页面无法通过测试

我在 https://github.com/sbzhu/weworkapi_php/tree/master/callback 下载了callback 的 PHP 所有代码放到服务器上,把callbackverify.php中token,encodingAesKey,receiveid替换成了在后台找到的我司对应的数值。

https://work.weixin.qq.com/api/devtools/devtool.php这个测试页面,把所有的信息都按照要求添上了,点击测试后得到如下结果

请求地址:https://oa.zswyy.cn/wx/callbackverify.php?echostr=KmvCKDU36%2BVkCt80h4O%2BJExdLBM9JdGVPiRyiuk0DBs3s6zmGiDyMpTp6V4k2MzG7LKfQJlySeqVj1B8yvQQXw%3D%3D&msg_signature=07f020696e93ab2f7bb6ac5fdba8fe404a71a126&timestamp=1592552284&nonce=xIeBHMyXxPqfqs3l

返回结果:

Notice: Undefined offset: 0 in /home/wwwroot/default/bpm/login/wx/WXBizMsgCrypt.php on line 65

Notice: Undefined offset: 1 in /home/wwwroot/default/bpm/login/wx/WXBizMsgCrypt.php on line 68

提示:

echostr校验失败,请您检查是否正确解密并输出明文echostr

从代码上看应该是

  $result = $pc->decrypt($sEchoStr, $this->m_sReceiveId);

这句话解密不成功,返回了一个空数组。请教一下这是什么问题呢?我的php版本是5.3.3


最后一次编辑于  2020-06-19
回答关注问题邀请回答
收藏

1 个回答

  • 企业微信运营专员-千夜
    企业微信运营专员-千夜
    2020-06-22

    您好,suiteticket是推送到指令回调url, post请求,数据回调url,以授权企业的corpid进行解密,对应的url可以加上对应的$CORPID$来进行解密;指令回调url以应用本身的suiteid进行解密,看下是否是使用的suiteid解密的

    2020-06-22
    有用
    回复 2
    • 韭菜齐齐割
      韭菜齐齐割
      2020-06-22
      谢谢,我已经找到问题了,这个接口在php 5.3.3下无法返回结果,升级到php5.6问题解决,应该是你们用的加密算法不支持5.3.3,请您更新一下你们的手册。
      2020-06-22
      回复
    • 韭菜齐齐割
      韭菜齐齐割
      2020-06-22
      具体来说是因为openssl_decrypt这个函数在5.3.3下面,解密失败
      2020-06-22
      回复
登录 后发表内容
问题标签