WeChat JSSDK invalid signature署名エラーの解決方法

5868 ワード

署名エラーの原因:
WeChat文書は以下の理由を示します.
invalid signature署名エラー:以下の順序でチェックすることを提案します.署名アルゴリズムが正しいことを確認し、利用可能です.
  • http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign ページツールを検証します.
  • はconfig中のnonce Str(js中のラクダのピークの標準大文字S)を確認して、timestampは署名の中の対応noncerstrで使うことと、timestampは一致します.
  • .urlはページの完全なurlであることを確認します.後ろのGETパラメータの部分は、〹hashの後ろの部分は含まれていません.
  • .configのapidとjsapi_を取得するためのものを確認する.ticketのcopidが一致します.
  • 必ずaccess_をキャッシュすることを確保する.tokenとjsapi_ticket
  • は、署名のためのurlを取得することが動的に取得されることを保証し、動的ページは、インスタンスコード内のphpの実施形態を参照することができる.もし、htmlの静的ページがフロントエンドでajaxを通じてバックグラウンドに署名されている場合、フロントエンドはjsで現在のページ除去'hash部分のリンク(locations.href.split(')[0]を取得する必要があります.ページが共有されると、WeChatクライアントはリンクの最後に他のパラメータを追加します.共有したページの署名に失敗します.
  • 自己プログラム検出:
    1-5検査は大丈夫です.長い間考えた結果、問題がURLにありました.
    フロントエンドURL符号化を行います.バックエンドで自動的に取得しないでください.先端はコードをまとめたURLを直接後端に転送します.
    クライアントコールの例:
    <script src="https://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
    <script>
    axios.get('getsign?url=' + encodeURI(location.href)) //      ,url      
            .then(function (response) {
                // handle success
                console.log(response);
                wx.config({
                    debug: true,
                    appId: response.data.appId,
                    timestamp: response.data.timestamp,
                    nonceStr: response.data.nonceStr,
                    signature: response.data.signature,
                    jsApiList: [] // Required, required JA interface list, all JS interface list, see Appendix 2
    
                });
            })
    </script>
    
    バックエンドコード:
    WeChatが提供するSDKを直接ダウンロードすることができます.
    http://demo.open.weixin.qq.com/jssdk/sample.zip
    備考:リンクにはphp、java、nodejsとpythonのコード例が含まれています.第三者は取得したaccesstokenとjsapi_を覚えてください.ticketは、周波数制限をトリガしないようにキャッシュする.
    マイクロ文書を参照:
    微信JS-SDKインターフェース
    END.
    仏の守り
                   _ooOoo_
                  o8888888o
                  88" . "88
                  (| -_- |)
                  O\  =  /O
               ____/`---'\____
             .'  \\|     |//  `.
            /  \\|||  :  |||//  \
           /  _||||| -:- |||||-  \
           |   | \\\  -  /// |   |
           | \_|  ''\---/''  |   |
            \  .-\__  `-`  ___/-. /
          ___`. .'  /--.--\  `. . __
       ."" '<  `.___\__/___.'  >'"".
      | | :  `- \`.;`\ _ /`;.`/ - ` : | |
      \  \ `-.   \_ __\ /__ _/   .-` /  /
    
    美女と野獣
    _____                 &&&&_) )
    \/,---<                &&&&&&\ \
    ( )c~c~~@~@            )- - &&\ \
    C   >/                \<   |&/
    \_O/ -             _`*-'_/ /
    ,- >o
    可愛いプーちゃん
    ┴?┴┴┬;┬/┬\\?┴????▔▔ς▔ρς▔\\\\?ηηηηηηηηηηηηηηηηηηηηηηηη;?ππππππππππ◣\____┬π?π?┴π▀▀▀▀?▀?▀?????????▀?π◢????????▀▀▀▀▀?▀?▀??????????????▀?▀??▀??Pπ_;ππππ\┴ππππππππ?┴┴┴┫┬┬▔▔▔;╻┴;┴//┴╻;?;?;;?;ηηηηηηηηηηηηηηηηηηηηηηηηηηηηη\__\﹨/▔\▲▲╓╥╥╥╥╥╥╥╥╥\▔﹨/╬╬╬╬