WildCat

Turbolinks 会导致微信网页在 iOS 上点击链接时出现 invalid signature 错误, Android 和开发者工具则正常

  •  
  •   WildCat · Jun 20, 2017 · 8835 views
    This topic created in 3422 days ago, the information mentioned may be changed or developed.

    最近在做微信网页开发,用的是 wechat 这个 gem。iOS 上,目前生成的网页,首页没问题,一旦点击一次链接就会出现 invalid signature 错误。

    搜索了很多相关关键词,甚至关于 React 的微信网页开发的。都没找到什么可以利用的资料。 很想用 turbolinks,但是现在看来只能关闭了。奇怪的是为什么 Android 正常 iOS 不正常,按理说 iOS 的浏览器应该更稳定才对。

    13 replies  •  2018-09-04 19:29:49 +08:00
    liuzhedash
    liuzhedash
    Jun 20, 2017
    1
    android 下微信浏览器使用的是 x5 内核,ios 下是 safari,这两者在 weixinjs 校验签名的时候相同页面的 URL 是有差别的
    oott123
    oott123
    Jun 20, 2017
    2
    这个坑严格地说是 pushState 引起的。你搜索的方向偏了一点,所以没找到……
    WildCat
    WildCat
    OP
    Jun 20, 2017
    3
    @oott123 pushState 是 Android 的坑。不是 iOS 的坑
    WildCat
    WildCat
    OP
    Jun 20, 2017
    4
    @liuzhedash 检查过签名用的 URL 了,没问题
    oott123
    oott123
    Jun 20, 2017❤️1
    5
    @WildCat #3 两者都有,而且坑深不同。
    icedx
    icedx
    Jun 20, 2017 via Android
    6
    按理说 iOS 的浏览器应该更稳定才对
    hiro0729
    hiro0729
    Jun 20, 2017
    7
    要你点击链接后输出下当前的浏览器的 url 是否改变, 微信签名需要后台签名的 url 和当前调用 jssdk 的页面的 url 一致, 才能生效的
    http://qydev.weixin.qq.com/wiki/index.php?title=%E5%BE%AE%E4%BF%A1JS-SDK%E6%8E%A5%E5%8F%A3#.E9.99.84.E5.BD.956-.E5.B8.B8.E8.A7.81.E9.94.99.E8.AF.AF.E5.8F.8A.E8.A7.A3.E5.86.B3.E6.96.B9.E6.B3.95

    一般 url 后面的#后的内容改变是无所谓的, 如果 url 的?后面的 querystring 变化了, 微信就不认原签名了
    momocraft
    momocraft
    Aug 31, 2018
    8
    这个问题在最新版微信仍然存在,仍然没有看到阳光 lol
    WildCat
    WildCat
    OP
    Aug 31, 2018
    9
    @momocraft 哇 现在用 Rails 的人真的是越来越少了。。。
    momocraft
    momocraft
    Aug 31, 2018
    10
    @WildCat 这个坑应该不止存在于 rails/turbolinks。SPA 开发者中也有讨论,如 https://github.com/Chooin/wechat-spa#%E5%BE%AE%E4%BF%A1%E5%88%86%E4%BA%AB
    WildCat
    WildCat
    OP
    Aug 31, 2018
    11
    @momocraft 是微信浏览器的坑,传统的解决办法就是不用 history push api,还是用 # 做 URL 路由。

    18 年很难见到 Rails 开发者了,不妨加个微信?
    WildCat
    WildCat
    OP
    Aug 31, 2018
    12
    @momocraft https://ruby-china.org/topics/33264

    我在 Ruby China 上提过这个问题,回答也很有质量。
    momocraft
    momocraft
    Sep 4, 2018
    13
    @WildCat 微信上班不方便开,推上佛你了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1442 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 22:42 · PVG 06:42 · LAX 14:42 · JFK 17:42
    ♥ Do have faith in what you're doing.