小程序消息推送配置 一直显示token校验失败 怎么回事呀!!

问题

小程序消息推送配置 显示token校验失败!

代码

public function checkSignature(Request $request)
    {
        $this->validate($request, [
            'signature'        => 'required',
            'timestamp'        => 'required',
            'nonce'        => 'required',
            'echostr'        => 'required',
        ]);

        $signature = $request->input('signature');
        $timestamp = $request->input('timestamp');
        $nonce = $request->input('nonce');
        $echostr = $request->input('echostr');

        Log::info("****-*****小程序接入参数1",['signature'=>$signature,'timestamp'=>$timestamp,'nonce'=>$nonce,'echostr'=>$echostr]);

        $tmpArr = array($this->token, $timestamp, $nonce);
        sort($tmpArr, SORT_STRING);
        $tmpStr = implode( $tmpArr );
        $tmpStr = sha1( $tmpStr );

        Log::info("****-*****小程序接入验证签名",[$tmpStr]);

        if ($tmpStr == $signature ) {
            ob_clean();
            echo $echostr;
            exit;
        } else {
            return false;
        }
    }

小程序配置内容

小程序消息推送配置 一直显示token校验失败 怎么回事呀!!

路由在这里

小程序消息推送配置 一直显示token校验失败 怎么回事呀!!

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 22
DonnyLiu

用postman测试一下能不能正常走通校验流程

1年前 评论
MuBaiYang (楼主) 1年前
DonnyLiu (作者) 1年前
MuBaiYang (楼主) 1年前
DonnyLiu (作者) 1年前

你要把 echostr 返回给微信

1年前 评论
MuBaiYang (楼主) 1年前
kkokk (作者) 1年前
MuBaiYang (楼主) 1年前
kkokk (作者) 1年前
kkokk (作者) 1年前
MuBaiYang (楼主) 1年前
kkokk (作者) 1年前
MuBaiYang (楼主) 1年前
kkokk (作者) 1年前
MuBaiYang (楼主) 1年前

laravel 处理的话,看下路由是不是在web组下面的,有验证csrf,微信回调会被拦截,可以建个新的路由组或者去掉这个验证。

1年前 评论
MuBaiYang (楼主) 1年前

csrt token 中间件把这个路由排除掉

1年前 评论
MuBaiYang (楼主) 1年前

file

把路由加到这里就可以了

1年前 评论
MuBaiYang (楼主) 1年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!