問題:
????????集成微信js-sdk,出現(xiàn)invalid signature簽名拋錯(cuò)。
解決初步思路:
????????根據(jù)問題拋錯(cuò),去查閱js-sdk的常見錯(cuò)誤及解決辦法,通過對比發(fā)現(xiàn)拋錯(cuò)是簽名,按照解決辦法一一對比去檢查代碼,確認(rèn)前端傳給后端的URL是否正確,前端按照上述方法把URL轉(zhuǎn)碼傳給后端后,發(fā)現(xiàn)依然獲取簽名報(bào)錯(cuò)。

最終解決思路:
????????仔細(xì)閱讀jssdk的錯(cuò)誤寄解決辦法以及簽名算法的生成,發(fā)現(xiàn)還是URL的問題,根據(jù)js-sdk上面簽名算法的生成上,URL參數(shù)是為解碼后的URL,后端沒解碼URL,所以導(dǎo)致簽名拋錯(cuò),前端傳給后端是通過encodeURIComponent()方法轉(zhuǎn)碼過后的URL,而后端拿到前端轉(zhuǎn)碼過后的URL,是需要解碼才能生成正確的簽名。
