微信小程序(十)之消息推送配置(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;
        }
     }

以上记录微信公众平台,模板消息推送第一步遇到的坑,后续接着记录模板消息推送的步骤,希望对你有所帮助,欢迎留言和点赞,最好能关注一下。

猜你喜欢

转载自blog.csdn.net/wh_xmy/article/details/99956691