當前位置:成語大全網 - 新華字典 - invalid signature錯誤怎麽解決

invalid signature錯誤怎麽解決

1.首先確認簽名算法是正確的,到mp.weixin. .com/pisign頁面工具進行校驗。也就是妳自己後臺生成簽名要和 校驗算法生成的簽名壹致才可以。2.還有壹個筆者曾遇到的坑,看到 SDK上說token和ticket需要在服務器做緩存,有效期是7200秒,寫代碼的時候沒有仔細思索,導致把生成的簽名也給緩存了,用幾次就報invalidsignature,後來仔細讀文檔之後,果斷改為每次打開頁面都重新生成簽名即可,token和ticket依然被緩存,但timestamp是變化的,因此每次簽名也是不同的。3.參與簽名的字段包括有效的jsapi_ticket(獲取方式詳見 JSSDK文檔),noncestr(隨機字符串,由開發者隨機生成),timestamp(由開發者生成的當前時間戳),url(當前網頁的URL,不包含#及其後面部分。4.特別註意:妳在利用參數生成簽名的時候,要對所有待簽名參數按照字段名的ASCII碼從小到大排序(字典序)後,使用URL鍵值對的格式(即key1=value1&key2=value2…)拼接成字符串string1。這裏需要註意的是所有參數名均為小寫字符。5.確認config中nonceStr(js中駝峰標準大寫S),timestamp與用以簽名中的對應noncestr,timestamp壹致。6.確認url是頁面完整的url(請在當前頁面alert(location.href.split('#')[0])確認),包括'http(s)://'部分,以及'?'後面的GET參數部分,但不包括'#'hash後面的部分。因為頁面壹旦分享, 客戶端會在妳的鏈接末尾加入其它參數,如果不是動態獲取當前鏈接,將導致分享後的頁面簽名失敗。