91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

invalid signature的解決方法

發布時間:2021-03-05 15:35:36 來源:億速云 閱讀:1862 作者:小新 欄目:開發技術

這篇文章給大家分享的是有關invalid signature的解決方法的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

  這篇文章主要介紹了微信jssdk簽名錯誤invalidsignature的解決方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧。

  invalidsignature是什么

  幾乎每一個開發用于微信公眾號頁面的工程師都遇到過微信jssdk報的各種錯誤,通常是permissiondenied,類似這樣:

  通常他們會建議你把debug選項開開,比如這樣:

  wechat.config({
  debug:true,
  appId:appId,
  timestamp:timestamp,
  nonceStr:nonceStr,
  signature:signature,
  jsApiList:['scanQRCode'],
  });

  結果你又遇到了invalidsignature。類似這樣:

  簽名不對,這是什么意思?可是這簽名是后端給過來的,我怎么知道它為什么不對?后端用的是標準算法,不可能不對啊。

  invalidsignature怎么辦

  查網上各種教程,或者微信官網,他們總是不厭其煩地告訴你,讓你去檢查簽名算法,然而根本沒有用!

  90%的這種情況下,其實只是一個原因:你用于計算簽名的URL地址不對,跟算法沒有任何關系,完全不必浪費時間去看什么簽名算法。

  微信要求:如果我們需要在頁面中調用微信的某個方法,則必須用這個頁面的URL地址獲取簽名。聽上去似乎很好理解,但是實際上URL地址包含的部分很多,有問號,有#號,你所要做的是取出#前面的部分。比如說你的URL地址是這,那么你用于計算簽名的URL地址不可以是,也不能是,而必須只能是。

  如何獲取當前頁面的URL地址呢?這個很簡單:

  letwechaturl=window.location.href.split('#')[0];

  然而你以為事情就這樣結束了?太天真。你的頁面還是無法正常使用微信函數的。

  因為:微信內嵌瀏覽器在iOS和安卓下的表現不一樣。

  在安卓下,你確實用上面的方法是可以調用了。但是在iOS下,簽名依然失敗!因為在iOS下,微信需要你傳遞的是入口URL,而不是當前頁面的URL!

  比如說,你在微信公眾號的某個菜單鏈接進入了A頁面,然后從A頁面的某個鏈接跳轉到B頁面,然后你在B頁面獲取簽名,如果是在安卓下,你應該用B頁面的URL地址來獲取,但是在iOS下,你還必須用A頁面的URL地址來獲取,否則就還是簽名失敗!

感謝各位的閱讀!關于“invalid signature的解決方法”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

嘉黎县| 阿巴嘎旗| 肇庆市| 定结县| 土默特右旗| 巩留县| 迁西县| 商洛市| 会宁县| 沙田区| 三台县| 宜黄县| 搜索| 惠来县| 阿拉善左旗| 福泉市| 绥中县| 皋兰县| 天门市| 巫溪县| 黔南| 兰溪市| 宁阳县| 阳山县| 桑日县| 修文县| 连平县| 崇阳县| 新河县| 灵寿县| 离岛区| 开封市| 秀山| 来宾市| 枣庄市| 恭城| 永修县| 库尔勒市| 郁南县| 白朗县| 云和县|