微信laravelPHP

laravel配置微信服务器详细步骤

2019-09-28  本文已影响0人  这真的是一个帅气的名字

基本信息

  • laravel5.4
  • 西部数码云服务器
  • 微信开放平台测试号

laravel开发重要的是路由,请求的大多数是POST和GET,在微信开发中需要注意的是:微信验证token的请求是GET方式,但是真正介入微信服务器采用的是POST方式,所以微信后台配置验证接口时候,要使用GET方式,验证成功配置完成再改成POST方式。

路由:

Route::group(['prefix' => 'backed', 'namespace' => 'Backeds'], function () {
    Route::get('weixin/token', 'WeixinController@token');
    Route::post('weixin/token', 'WeixinController@token');
    Route::any('weixin/api', 'WeixinController@api');//下面有具体方法代码
});

laravel中还有一个需要注意的是中间件的概念,中间件是所有请求都需要经过验证才能分发给相应的控制器的玩意.laravel中POST提交都必须包含csrf防止跨域攻击的,在微信开发接口中需要关闭:
打开:app\Http\Middleware\VerifyCsrfToken.php

<?php

namespace App\Http\Middleware;

use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as BaseVerifier;

class VerifyCsrfToken extends BaseVerifier
{
    /**
     * The URIs that should be excluded from CSRF verification.
     *
     * @var array
     */
    protected $except = [
        'weixin/api',
    ];
}

接下来在对应的Controller中创建WeixinController.php

php artisan make:controller WeixinController
<?php

namespace App\Http\Controllers\Backeds;
use DB;
use App\Http\Requests;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

class WeixinController extends Controller
{

     //验证消息
    public function api()
     {
         $echoStr = $_GET["echostr"];
         if($this->checkSignature()){
             echo $echoStr;
             exit;
         }
     }
     //检查签名
     private function checkSignature()
     {
         $signature = $_GET["signature"];
         $timestamp = $_GET["timestamp"];
         $nonce = $_GET["nonce"];
         $token = "weixin";//可以随便填,只要和后台添加的一样就行
         $tmpArr = array($token, $timestamp, $nonce);
         sort($tmpArr, SORT_STRING);
         $tmpStr = implode($tmpArr);
         $tmpStr = sha1($tmpStr);
         if($tmpStr == $signature){
             return true;

         }else{
             return false;
         }
     }
}

到此为止,打开微信公众号后台,开始配置微信服务器

配置URL:http://wechat.xhqlzj.com/backed/weixin/api
配置Token:weixin(Token要和WeixinController中checkSignature方法里面定义的token一样)

搞定

接下来会有详细的微信开发文章,欢迎关注。获取更多的相关资料可以关注公众号


回复“资源”有惊喜
上一篇下一篇

猜你喜欢

热点阅读