程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> 管理組權限驗證-微信企業號頁面打開企業通訊錄選人報錯:fail_invalid signature,請問如何解決?

管理組權限驗證-微信企業號頁面打開企業通訊錄選人報錯:fail_invalid signature,請問如何解決?

編輯:編程解疑
微信企業號頁面打開企業通訊錄選人報錯:fail_invalid signature,請問如何解決?

企業號頁面中,想打開企業通訊錄選人。
access_token獲取成功;
jsapi_ticket獲取成功;
group_ticket也獲取成功;
wx.config調用成功(由於debug模式,彈出ok,說明jsapi_ticket的簽名算法是正確的);

但是的就是調用WeixinJSBridge.invoke("openEnterpriseContact", {......}, function(){......})的時候,總是報fail_invalid signature的錯誤。
簽名算法與wx.config中用的簽名算法一樣,簽名用的字符串也是按照官網開發文檔拼接的。

以下是我的代碼片段:
圖片說明

而且,我已經按照官方文檔附錄6的方式檢查了:
1、企業管理組權限驗證簽名算法無法驗證,因為這個工具只能驗證jsapi的簽名算法。企業管理組權限驗證簽名算法與jsapi_ticket簽名算法相同,並通過了http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign 此頁面工具的驗證。
2、wx.config中的nonceStr是大寫S,並且timestamp和noncestr與簽名中的一樣。
3、url是完整的,以http://開頭,與location.href.split('#')[0]相同,我的這個url沒有get參數。
4、檢查過,一樣。
5、access_token和group_ticket都是緩存的。
6、檢查了,是一樣的。

頁面獲取group_ticket簽名的controller:
圖片說明

簽名的方法:
圖片說明

請問是哪裡出了問題?

懇請有能之士幫下忙,幫我解決下這個問題,非常感謝。

2016年12月22日修改

問題已解決,原因是ios微信上調用此js接口,傳入的timestamp必須是字符串類型,我之前傳的是數字類型。安卓上無此問題。
見知乎:
https://www.zhihu.com/question/53490788/answer/136897593?group_id=794851608767893504

最佳回答:


問題已解決,原因是ios微信上調用此js接口,傳入的timestamp必須是字符串類型,我之前傳的是數字類型。安卓上無此問題。
見知乎:
https://www.zhihu.com/question/53490788/answer/136897593?group_id=794851608767893504

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved