天天看点

【Laravel篇】微信公众号开发Token验证失败

最近开始折腾一下微信公众号开发,踩的一些莫名其妙的坑,给大家分享一下:首当其冲,当然是基础步骤中的开发者配置了。其实呢,只要认真读文档也就木有问题,但是总有一些粗心大意的人——我。

    坑一:端口号未得到注意和重视,须检查你的服务器的端口是否被开放或者被占用
           
【Laravel篇】微信公众号开发Token验证失败
​    ​坑二:当然就是自以为将信息填完提交就会OK的事了。
           
【Laravel篇】微信公众号开发Token验证失败
​    ​注意注意,你都没有和微信服务器做验证,怎么会提交成功呢?是不是傻,傻的也只有我。下面是文档说的清清楚楚,唉。
           
【Laravel篇】微信公众号开发Token验证失败

贴一下Laravel验证Token的简易代码:

public function wxToken(Request $request)

{

$signature = $request->input('signature');
     
     $timestamp = $request->input('timestamp');
     
     $nonce = $request->input('nonce');
 	    
     $echoStr = $request->input('echostr');
 
     if( $this->checkSignature($signature, $timestamp, $nonce) ){
 
         return $echoStr;
     }else{
 
         dd('Token verification failed.');
     }
           

}

private function checkSignature($signature, $timestamp, $nonce)

{

$token = 'nodexpo';
     
     $tmpArr = array($token, $timestamp, $nonce);
     
     sort($tmpArr, SORT_STRING);
     
     $tmpStr = implode( $tmpArr );
     
     $tmpStr = sha1( $tmpStr );
     
     if( $tmpStr == $signature ){
         return true;
     }else{
         return false;
     }
           

}

其实只要注重了这两个步骤,公众号开发这个门槛你就踏了进来,接下来你便会如鱼得水啦。本人使用的Laravel框架开发微信公众号,那就不得不说到组件,那么EasyWeChat当然是首推了。https://www.easywechat.com/docs/master/overview 这是官方给出的文档。具体操作仔细看文档。个人总结,勿喷。谢谢合作。