最近在做公司定制化的时候发现一个问题,使用微信的语音API的时候微信报错,错误信息为:the permission value is offline verifying

但是诡异的是:同样的代码在我们公司的产品上就不会报这个错误,可以正确调用接口。但是放在客户的服务器上,wx.config里面的参数配置成客户微信企业号信息就会报错。

通过查询发现,微信JS-SDK的附录5已经说明了这个问题可能存在的原因

通过排查,发现23没有问题,所以将焦点放在了第一个。

通过微信提供的web调试工具发现wx.config果然报错了,错误代码invalid signature,意思是签名错误

再去微信JS-SDK里面查这个错误发现如下说明

通过微信提供的微信 JS 接口签名校验工具进行验证,发现后台计算的结果和工具得到的结果一致,说明后台算法没有错。

然后把目光放在了生成签名的几个参数上面

因为之前在公司产品上是没问题的,所以我们认为前三个参数都没有问题,可能是最后一个url参数有问题,遂通过一番查找分别查询了如下几个方面。

1、确认url是页面完整的url(请在当前页面alert(location.href.split('#')[0])确认),包括'http(s)://'部分,以及'?'后面的GET参数部分,但不包括'#'hash后面的部分,url是动态获取的。

2、去微信企业号后台确认可信域名是否正确并符合规则。

结果,发现所有的配置都没有问题,算法也没有问题,但是错误依然存在,于是bug的解决陷入了停滞。

于是开始了各种问,各种找,在某一个群上询问是大神的一句“反向代理”,让绝境有了一线生机,后台同学说我们的项目是通过反向代理来映射到我们公司的服务器上的。

于是,通过后台调试发现,果然生成秘钥的url域名并不是可信域名,而是反向代理设置的域名,于是乎,问题终于是解决了。

最新文章

  1. 关于eclipse的一些配置
  2. 我关注的一些关于前端的文章(copy)
  3. Mayor's posters(线段树+离散化POJ2528)
  4. JS调用BHO
  5. python学习(三):matplotlib学习
  6. 利用R进行多元线性回归分析
  7. MAC安装SVNServer
  8. chrome 、 火狐等浏览器对空格符  解析不同,页面显示不一致
  9. high volume logging
  10. 用ildasm和ilasm对.net下的exe程序进行破解初探
  11. jenkins部署web项目到webogic
  12. 「FHQ Treap」学习笔记
  13. Ambari Metrics 详解
  14. latex beamer 添加页码
  15. Win10升级惹的祸,Oracle服务全没有了,怎么解决?
  16. JSP(介绍,语法,指令)
  17. 安装fftw到window(vs2010)及使用fftw库函数实现4096点fft变换计算
  18. 对 static const char* const str[] = {“string”} 的理解
  19. Mysql-binlog的移动和归档
  20. Android实现自带横线的EditText

热门文章

  1. Win8 安装Oracle 10g 提示“程序异常终止”的解决方案
  2. 飘逸的python - 理解打开文件的模式
  3. Spring-boot使用Ehcache配置
  4. Js解析json
  5. iptables配置说明
  6. 服务器的SVN项目版本较低,check out 下来后报错
  7. 类似微博菜单 ,用swift语言编写
  8. css-实现元素垂直居中对齐
  9. Submine Text 3 代码自动换行
  10. SecureCRT自动断开连接的问题