路由设置
Route::any('wx', [
'uses' => 'WeChatAppController@checkSignature'
]);
取消crsf校验
#去到你的Middlewarel里面找到VerifyCsrfToken.php然后插入下面代码:
protected $except = [
'wx', #注意这个是你在第一步设置的路由路径
];
#在你对应的Controller里面加入以下函数
public function checkSignature( Request $request ) {
$input = $request->all();
# 一定要抓取4个参数
$echoStr = $input[ "echostr" ];
$signature = $input[ "signature" ];
$timestamp = $input[ "timestamp" ];
$nonce = $input[ "nonce" ];
# 微信官方验证方式
$token = env( 'TOKEN',"12345678" ); #填写微信公众平台输入的token
$tmpArr = [ $token, $timestamp, $nonce ];
sort( $tmpArr, SORT_STRING );
$tmpStr = implode( $tmpArr );
$tmpStr = sha1( $tmpStr );
# 打印返回结果
if( $tmpStr == $signature ){
return response($echoStr);
} else{
return response();
}
}