鍍金池/ 問答/HTML5  Android  HTML/ vue 在hash模式,微信jssdk是不是只要錨鏈接改變就需要重新進(jìn)行權(quán)限驗證

vue 在hash模式,微信jssdk是不是只要錨鏈接改變就需要重新進(jìn)行權(quán)限驗證

現(xiàn)在在開發(fā)微信公眾號,使用的是vue,路由使用router的hash模式,在開發(fā)vue的過程中,jssdk權(quán)限驗證的時候老是出現(xiàn)簽名失敗的問題,是不是每次路徑變化都需要重新獲取簽名進(jìn)行驗證,如下圖鏈接變化
圖片描述

圖片描述

回答
編輯回答
故林

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

簽名生成規(guī)則如下:參與簽名的字段包括noncestr(隨機(jī)字符串), 有效的jsapi_ticket, timestamp(時間戳), url(當(dāng)前網(wǎng)頁的URL,不包含#及其后面部分) 。對所有待簽名參數(shù)按照字段名的ASCII 碼從小到大排序(字典序)后,使用URL鍵值對的格式(即key1=value1&key2=value2…)拼接成字符串string1。這里需要注意的是所有參數(shù)名均為小寫字符。對string1作sha1加密,字段名和字段值都采用原始值,不進(jìn)行URL 轉(zhuǎn)義。

有個校驗工具可以用,這里提到了:

注意:對于沒有只有域名沒有 path 的 URL ,瀏覽器會自動加上 / 作為 path,如打開 http://qq.com 則獲取到的 URL 為 http://qq.com/)。
2018年1月18日 18:13