收藏
回答

config方法提示invalid signature,确认签名是对的,唯一不同jsApiList?

js-sdk 1.6.0 客户端 ios 7.0.12

同样config方法 调用后台同一个接口 只是jsApiList不一样 updateAppMessageShareData这个invalid signature,chooseWXPay这个ok

请问可能是什么原因呢

回答关注问题邀请回答
收藏

2 个回答

  • 詹小辉
    詹小辉
    09-10

    同样的问题,解决了吗?

    09-10
    有用
    回复 3
    • 詹小辉
      詹小辉
      09-10
      知道原因了,signature签名使用的url与前端url对不上,chooseWXPay这个对url参数不敏感
      09-10
      回复
    • 詹小辉
      詹小辉
      09-10回复詹小辉
      url对不上,可能因为使用了spa的History路由方式,这个jssdk不兼容History.pushState(),改用hash路由或者直接使用a标签跳转到需要授权的页面。
      09-10
      回复
    • 詹小辉
      詹小辉
      09-10回复詹小辉
      看了下jssdk的源码,jssdk验证的url,在History.pushState()路由模式下其实是LandingPage落地页。
      假设:
      通过pushState跳转路由访问http://a.com/b/c,c这个页面的落地页就是http://a.com/b,所以实际需要签名的页面是http://a.com/b,而不是http://a.com/b/c
      还有一种情况,就是直接输入http://a.com/b/c访问,或者在当前页面刷新,那LandingPage就是自身页,需要签名的自然就是http://a.com/b/c
      所以需要同时处理这2种情况,才能保证wx.config不报错。


      已vue为例,可以使用beforeRouteEnter这个路由钩子处理:
      09-10
      回复
  • จุ๊บ
    จุ๊บ
    06-23

    是不是token 不是最新的。同一页面写一个config 就可以了

    06-23
    有用
    回复 2
    • Rainy
      Rainy
      06-23
      应该不会吧,因为我目前wx支付能成功调用,这个分享却不行
      06-23
      回复
    • Rainy
      Rainy
      06-23
      两个config不会直接运行,是需要触发的
      06-23
      回复
登录 后发表内容
问题标签