关于微信网页调用js-sdk相关接口注意事项目(一级域名与二级域名互相干扰!!!)

      不知道有没有网友遇到过同一个web应用用不一样的域名(一级或二级域名)在两个公众号中调用JSSDK相关接口实现功能,web

这种作法原本没有问题,问题在于用二级域名(同属一级域名下的二级域名)绑定另外一个web应用的ip在上面两个公众号中的其中一个作测试时,算法

问题就出现了。api

   咱们先理一下jssdk调用的流程,缓存

一、利用appId与appSecret获得access_token;安全

二、利用access_token获得jsapi_ticket临时票据;微信

三、经过算法得到随机字符串$nonceStrapp

四、利用jsapi_ticket=$jsapiTicket    &noncestr=$nonceStr    &timestamp=$timestamp    &url=$url获取$signature签名;测试

五、jsapi_ticket、url、$timestamp$nonceStr$signature、appId共同组合成微信配置参数。url

六、配置成功后可调用相关接口。spa

 

重点在于配置是否成功,

access_token与jsapi_ticket都时效性两个小时,使用时必须缓存,以避免触发频率限制;

问题回来上面说的同一个众号中有两个应用在调用js接口,一个是生产的,已经上线的,一个测试的,专用测试用,两个应用都是主域名下的二级域名,

这时会出现接口调用冲突。!!!!

缘由是若是安全域设置了一级域名,那它下面的二级域名一样能够调用js接口,也就是说一级域名与其下面的两级如下的域名统一对应一个公众号,

它们请求生成的access_token与jsapi_ticket具备惟一性,当一个域名请求后,另外一个域名下调用时所使用的缓存access_token与jsapi_ticket就会失效,

从而调用失败。

 

简单来讲, 一个公众号只能对应一个域名(包括其下面的二级以上域名),不管多少级域名调用接口,它们access_token与jsapi_ticket 是惟一的;

这真是折磨死人

相关文章
相关标签/搜索