天天看點

【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 這是官方給出的文檔。具體操作仔細看文檔。個人總結,勿噴。謝謝合作。