微信小程序(十)之消息推送配置(token驗證失敗的解決方案)

背景:微信小程序開發,準備使用模板消息做些事情,但是發現需要先在微信公衆平臺的開發——開發設置——消息推送做配置,然後我們後臺人員就開始各種配置,但是一到驗證token就報錯,很是鬱悶,然後各種排查,發現了最終原因,過程和代碼如下:

很多網站給出的服務器代碼如下:

//檢查簽名
     public function checkSignature(Request $request) {
        $signature = $_GET["signature"];
        $timestamp = $_GET["timestamp"];
        $nonce = $_GET["nonce"];
        $echostr = $request->echostr;
        $token = config('wechat.token');
        $tmpArr = array($token, $timestamp, $nonce);
        sort($tmpArr, SORT_STRING);
        $tmpStr = implode($tmpArr);
        $tmpStr = sha1($tmpStr);

        if($tmpStr == $signature){

            echo $echostr;
            exit();
            // return true;
        }else{

            return false;
        }
     }

以上代碼看上去沒問題,後臺查看日誌也是可以對應上的,但是一旦提交還是token校驗失敗,後臺各種查資料,最終發現需要使用ob_clean();最終代碼如下:

//檢查簽名
     public function checkSignature(Request $request) {
        $signature = $_GET["signature"];
        $timestamp = $_GET["timestamp"];
        $nonce = $_GET["nonce"];
        $echostr = $request->echostr;
        $token = config('wechat.token');
        $tmpArr = array($token, $timestamp, $nonce);
        sort($tmpArr, SORT_STRING);
        $tmpStr = implode($tmpArr);
        $tmpStr = sha1($tmpStr);

        if($tmpStr == $signature){

            ob_clean();
            echo $echostr;
            exit();
            // return true;
        }else{

            return false;
        }
     }

以上記錄微信公衆平臺,模板消息推送第一步遇到的坑,後續接着記錄模板消息推送的步驟,希望對你有所幫助,歡迎留言和點贊,最好能關注一下。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章