WildCat

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

  •  
  •   WildCat · Jun 20, 2017 · 8379 views
    This topic created in 3250 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
        1
    liuzhedash  
       Jun 20, 2017
    android 下微信浏览器使用的是 x5 内核,ios 下是 safari,这两者在 weixinjs 校验签名的时候相同页面的 URL 是有差别的
    oott123
        2
    oott123  
       Jun 20, 2017
    这个坑严格地说是 pushState 引起的。你搜索的方向偏了一点,所以没找到……
    WildCat
        3
    WildCat  
    OP
       Jun 20, 2017
    @oott123 pushState 是 Android 的坑。不是 iOS 的坑
    WildCat
        4
    WildCat  
    OP
       Jun 20, 2017
    @liuzhedash 检查过签名用的 URL 了,没问题
    oott123
        5
    oott123  
       Jun 20, 2017   ❤️ 1
    @WildCat #3 两者都有,而且坑深不同。
    icedx
        6
    icedx  
       Jun 20, 2017 via Android
    按理说 iOS 的浏览器应该更稳定才对
    hiro0729
        7
    hiro0729  
       Jun 20, 2017
    要你点击链接后输出下当前的浏览器的 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
        8
    momocraft  
       Aug 31, 2018
    这个问题在最新版微信仍然存在,仍然没有看到阳光 lol
    WildCat
        9
    WildCat  
    OP
       Aug 31, 2018
    @momocraft 哇 现在用 Rails 的人真的是越来越少了。。。
    momocraft
        10
    momocraft  
       Aug 31, 2018
    @WildCat 这个坑应该不止存在于 rails/turbolinks。SPA 开发者中也有讨论,如 https://github.com/Chooin/wechat-spa#%E5%BE%AE%E4%BF%A1%E5%88%86%E4%BA%AB
    WildCat
        11
    WildCat  
    OP
       Aug 31, 2018
    @momocraft 是微信浏览器的坑,传统的解决办法就是不用 history push api,还是用 # 做 URL 路由。

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

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