vue 在hash模式,微信jssdk是不是只要锚链接改变就需要重新进行权限验证

现在在开发微信公众号,使用的是vue,路由使用router的hash模式,在开发vue的过程中,jssdk权限验证的时候老是出现签名失败的问题,是不是每次路径变化都需要重新获取签名进行验证,如下图链接变化
图片描述

图片描述

阅读 3.3k
1 个回答

微信JS-SDK签名算法中提到不包括#后面部分。

签名生成规则如下:参与签名的字段包括noncestr(随机字符串), 有效的jsapi_ticket, timestamp(时间戳), url(当前网页的URL,不包含#及其后面部分) 。对所有待签名参数按照字段名的ASCII 码从小到大排序(字典序)后,使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串string1。这里需要注意的是所有参数名均为小写字符。对string1作sha1加密,字段名和字段值都采用原始值,不进行URL 转义。

有个校验工具可以用,这里提到了:

注意:对于没有只有域名没有 path 的 URL ,浏览器会自动加上 / 作为 path,如打开 http://qq.com 则获取到的 URL 为 http://qq.com/)。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题