微信服务号开发IOS设备js-sdk认证失败问题总结

这段时间做了一个微信服务号的开发
初版设计图如下:
微信服务号开发IOS设备js-sdk认证失败问题总结_第1张图片

这个方式前面几个步骤都没有问题,关键在于后面第六步,重定向到h5页面;之所以这么做是考虑到了我们前端的框架需要对入口作统一的处理操作;

这样在android机子上没有任何问题,但是在ios上面经常出现js-sdk的认证失败:config fail:invalid signature;而且不是必现,是偶尔出现,这个真的很头疼,出现这个问题的时候,一步一步排查了官方文档的附录6,发现jsticket,url,noncestr,timestamp都没有问题,包括用工具生成的signature也没有问题;
顿时陷入一阵迷茫中...


一次偶然机会,后来偶然的情况下参考了网上的一片文章:
https://zhuanlan.zhihu.com/p/...

收到了启发,在我们的项目中的第6步骤,微信的url发生了变化,就是urla--->urlb,在ios和android上面用于生成js-sdk签名的url都是urlb,这个没有问题,但是微信在校验签名时候会根据浏览器当前的url比对,安卓上urlb没有问题,但是ios上面会发现当前url为urla,导致认证失败:invalid signature!!(个人猜想)

微信服务号开发IOS设备js-sdk认证失败问题总结_第2张图片

保证了url在ios和android上面都没有变动,
发现ios上面再也没有出现过config failure!!!

你可能感兴趣的:(微信服务号开发IOS设备js-sdk认证失败问题总结)