[已解决]微信报错config:fail,Error: 系统错误,错误码:63002,invalid signature [20211207 17:50:38][]
問(wèn)題
錯(cuò)誤碼:63002,invalid?signature?無(wú)效的簽名
根據(jù)“附錄5”檢查了簽名沒(méi)有發(fā)現(xiàn)問(wèn)題
https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html
同時(shí)在“微信?JS?接口簽名校驗(yàn)工具”效驗(yàn),簽名都是一致的,但是就是不知道為啥一直報(bào)錯(cuò)
https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign
可能用到的工具
附錄5 https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html微信?JS?接口簽名校驗(yàn)工具 https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign公眾號(hào)-全局返回碼說(shuō)明 https://developers.weixin.qq.com/doc/offiaccount/Getting_Started/Global_Return_Code.html ?排查步驟
1.確認(rèn)簽名算法正確,可用http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign 頁(yè)面工具進(jìn)行校驗(yàn)。
2.確認(rèn)config中nonceStr(js中駝峰標(biāo)準(zhǔn)大寫(xiě)S), timestamp與用以簽名中的對(duì)應(yīng)noncestr, timestamp一致。
3.確認(rèn)url是頁(yè)面完整的url(請(qǐng)?jiān)诋?dāng)前頁(yè)面alert(location.href.split('#')[0])確認(rèn)),包括'http(s)://'部分,以及'?'后面的GET參數(shù)部分,但不包括'#'hash后面的部分。
4.確認(rèn) config 中的 appid 與用來(lái)獲取 jsapi_ticket 的 appid 一致。
5.確保一定緩存access_token和jsapi_ticket。
6.確保你獲取用來(lái)簽名的url是動(dòng)態(tài)獲取的,動(dòng)態(tài)頁(yè)面可參見(jiàn)實(shí)例代碼中php的實(shí)現(xiàn)方式。如果是html的靜態(tài)頁(yè)面在前端通過(guò)ajax將url傳到后臺(tái)簽名,前端需要用js獲取當(dāng)前頁(yè)面除去'#'hash部分的鏈接(可用location.href.split('#')[0]獲取,而且需要encodeURIComponent),因?yàn)轫?yè)面一旦分享,微信客戶端會(huì)在你的鏈接末尾加入其它參數(shù),如果不是動(dòng)態(tài)獲取當(dāng)前鏈接,將導(dǎo)致分享后的頁(yè)面簽名失敗。
如果以上還是沒(méi)有解決你的問(wèn)題;請(qǐng)你重點(diǎn)檢查以下幾個(gè)地方
1.檢查wx.config
wx.config({debug: true, // 開(kāi)啟調(diào)試模式,調(diào)用的所有api的返回值會(huì)在客戶端alert出來(lái),若要查看傳入的參數(shù),可以在pc端打開(kāi),參數(shù)信息會(huì)通過(guò)log打出,僅在pc端時(shí)才會(huì)打印。appId: '', // 必填,公眾號(hào)的唯一標(biāo)識(shí)timestamp: , // 必填,生成簽名的時(shí)間戳nonceStr: '', // 必填,生成簽名的隨機(jī)串signature: '',// 必填,簽名jsApiList: [] // 必填,需要使用的JS接口列表 });確定參數(shù)的“名稱”和“大小寫(xiě)”以及“數(shù)據(jù)格式”都一致
2.檢查“簽名時(shí)的參數(shù)”和“wx.config”的參數(shù)是否一致
3.檢查“簽名時(shí)的參數(shù)”
noncestr=‘’ jsapi_ticket=‘’ timestamp=0 url=‘’確定參數(shù)的“名稱”和“大小寫(xiě)”以及“數(shù)據(jù)格式”都一致
重點(diǎn)是:否按照字段名的ASCII 碼從小到大排序
如果還未找到原因,請(qǐng)重新按照文章再“謹(jǐn)慎”的檢查一遍
我在處理這個(gè)問(wèn)題的時(shí)候也是半天沒(méi)有找到原因,后來(lái)發(fā)現(xiàn)問(wèn)題就是出現(xiàn)在了
“wx.config”的參數(shù)上;“大小寫(xiě)”和官方的不一致
總結(jié)
以上是生活随笔為你收集整理的[已解决]微信报错config:fail,Error: 系统错误,错误码:63002,invalid signature [20211207 17:50:38][]的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 设计一个小型的物联网应用系统_物联网应用
- 下一篇: 微服务系统错误码设计