公众号网页授权问题 - FannieFannie/wechatweb GitHub Wiki

##今天编码出现了签名授权一直不成功的情况

1. 在校对了所有的步骤后,发现前端并没有什么问题,最后发现是后台的问题。

后台获得签名的步骤是,通过微信提供的接口获得access_token,再获得jsapi后,缓存这两个值得到最后的签名signature。以下分别为需要调用的接口:

2. 问题最后就出在获取jsticket这一步上。

  • 获取jsticket需要两个参数,一个是access_token,一个是type。type有两种:jsapi(调用微信内网页调用微信原生功能的JS-SDK接口须使用的签名票据)和wx_card(调用微信卡券接口时签名的临时票据)。

  • 后端开发选择了获取wx_card类型来获取前端用于调用微信JS接口的临时票据,导致计算出错误的签名(signature)。在前端注入权限验证配置时总是验证失败,错误信息是invalid signature。

  • 但是不知道为什么能成功调用地理位置接口wx.getLocation()得到经纬度。经过对比,jsapi注入权限验证的签名无效,不影响在有权限的域名下调用成功。 #结尾 如果有机会的话还是要前后台都要做,这样才能更快地找到问题。后台开发不看错误日志,也不暴露错误信息,美其名曰,错误信息应该封装好给前端。前端真的是哑巴吃黄连,有苦说不出。