當前位置:成語大全網 - 書法字典 - 簽名無效是什麽原因?

簽名無效是什麽原因?

1.首先確認簽名算法是否正確。轉到/debug/cgi-bin/sandbox?用於驗證的jsapisign頁面工具。也就是說,自己在後臺生成的簽名要和微信驗證算法生成的簽名壹致。

2.還有壹個我曾經遇到的坑。我在微信SDK上看到token和ticket需要緩存在服務器裏,有效期是7200秒。我寫代碼的時候沒有考慮周全,所以也緩存了生成的簽名。仔細閱讀文檔後,我決定每次打開頁面時重新生成簽名。token和ticket還是緩存的,只是時間戳不壹樣,所以每次簽名都不壹樣。

3.參與簽名的字段包括有效jsapi_ticket(詳見微信JSSDK文檔)、noncestr(開發者隨機生成的隨機字符串)、timestamp(開發者生成的當前時間戳)和url(當前網頁的URL,不包括#及其後續部分)。

4.特別註意:使用參數生成簽名時,要將所有要簽名的參數按照字段名的ASCII碼從小到大排序(字典順序),然後使用URL鍵-值對的格式(即key 1 = value 1 &;鍵2 =值2...)轉換成字符串string1。這裏需要註意的是,所有的參數名都是小寫字符。

5.確認config和timestamp中的non centr(JS中的駝峰標準大寫S)與簽名中對應的non centr,timestamp壹致。

6.確認該url是該頁面的完整url(請在當前頁面警報中確認(location.href.split ('#') [0]),包括' http(s)://'部分和'?'。獲取後面的參數部分,但不包括“#”哈希後面的部分。因為壹旦頁面被分享,微信客戶端會在妳的鏈接末尾添加其他參數。如果當前鏈接不是動態獲取的,共享頁面的簽名將失敗。