天天看點

微信jssdk invalid signature debug記錄

invalid signature簽名錯誤。建議按如下順序檢查:

  1. 确認簽名算法正确,可用 http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign 頁面工具進行校驗。
  2. 确認config中noncestr, timestamp與用以簽名中的對應noncestr, timestamp一緻。
  3. 确認url是頁面完整的url,包括GET參數部分,去掉#後面部分。
  4. 确認 config 中的 appid 與用來擷取 jsapi_ticket 的 appid 一緻。
  5. 確定緩存access_token和jsapi_ticket(可以減少兩次伺服器請求加速體驗外,還避免了觸發頻率限制,提高服務穩定性)并且如果是多微信公衆号體系下每個賬号緩存的access_token和jsapi_ticket沒有重複,建議用app_id作為緩存的key。

目前項目中現在有微信支付的公衆号平台的appid1,和微信開放平台的appid2,

我按照這個順序檢驗程式,走到 4 的時候,發現項目中請求 擷取全局acess token 用的是公衆号平台的appid1,jspai ticket 用的是 開放平台的appid2,兩個appid 不一緻導緻的。

關于擷取全局acess token:

使用微信開放平台的appid2賬号擷取的網頁登陸授權的access token ,僅用于登陸和擷取使用者資訊,在調用jsapi ticket 和其他接口的token 指的是全局的access token,這個和網頁授權得到的access token 不是一個東西,需要調用全局access token 接口擷取,并全局儲存

參考位址:http://wohugb.gitbooks.io/webot/content/js-sdk/error.html