使用wechat配置微信公众号报token验证失败

大家好!我看 github.com/overtrue/laravel-wechat
照着教程配置的。
1.在 config/app.php 注册 ServiceProvider 和 Facade
2.创建、修改应用根目录下的 config/wechat.php
这样写,

'official_account' => [
        'default' => [
            'app_id' => env('WECHAT_OFFICIAL_ACCOUNT_APPID', 'your-app-id'),         // AppID
            'secret' => env('WECHAT_OFFICIAL_ACCOUNT_SECRET', 'your-app-secret'),    // AppSecret
            'token' => env('WECHAT_OFFICIAL_ACCOUNT_TOKEN', 'your-token'),           // Token
            'aes_key' => env('WECHAT_OFFICIAL_ACCOUNT_AES_KEY', ''),                 // EncodingAESKey
]

3.然后,在.env填入对应的。

#wechat official account
WECHAT_OFFICIAL_ACCOUNT_APPID = XXXXX
WECHAT_OFFICIAL_ACCOUNT_SECRET = XXXXX
WECHAT_OFFICIAL_ACCOUNT_TOKEN = XXXXX
WECHAT_OFFICIAL_ACCOUNT_AES_KEY = XXXXX

4.修改路由:

Route::any(/wechat’, ‘WeChatController@serve’);

5.
在WeChatController控制器中写

public function serve()
{
 Log::info('request arrived.'); # 注意:Log 为 Laravel 组件,所以它记的日志去 Laravel 日志看,而不是 EasyWeChat 日志

  $app = app('wechat.official_account');
  $app->server->push(function($message){
  return "欢迎关注 ###!";
  });
 return $app->server->serve();
}

6.在中间件 App\Http\Middleware\VerifyCsrfToken 排除微信相关的路由

    protected $except = [
        "wechat"
    ];

7.然后到微信公众号(已认证的服务号):

服务器配置

修改配置:

服务器地址(URL), 我的域名/wechat
令牌(Token),
消息加解密密钥(EncodingAESKey),
兼容模式。

提交报错:

Token验证失败。

8.访问域名/wechat

<xml>
<MsgType>text</MsgType>
<Content>欢迎关注 ###!</Content>
<ToUserName></ToUserName>
<FromUserName></FromUserName>
<CreateTime>1606123633</CreateTime>
</xml>

我对照了,这几个和代码中的是一致的。
wechat.log 中:

[2020-11-23T17:07:53.246341+08:00] EasyWeChat.DEBUG: Request received: {"method":"GET","uri":"https://域名/wechat?echostr=1007693913554386937&nonce=1733004785&signature=b355201bc26f8db413994043ed141a8f72446df4&timestamp=1606122473","content-type":null,"content":""}
[2020-11-23T17:07:53.247179+08:00] EasyWeChat.DEBUG: Server response created: {"content":"1007693913554386937"}

请教学长,这个怎么排错,解决呢?非常感谢!

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
最佳答案

博客:Laravel 配置微信公众平台验证 token 失败
可以参考一下这个,还有,配置微信相关的东西最好把debug关掉,很多意料之外的输出都会影响微信的token验证,一般debug关了就没事儿了 :joy: 要怪就怪wechat的参数接收和验证做的烂吧(小声哔哔 :sweat_smile:)

3年前 评论
讨论数量: 3

博客:Laravel 配置微信公众平台验证 token 失败
可以参考一下这个,还有,配置微信相关的东西最好把debug关掉,很多意料之外的输出都会影响微信的token验证,一般debug关了就没事儿了 :joy: 要怪就怪wechat的参数接收和验证做的烂吧(小声哔哔 :sweat_smile:)

3年前 评论

@寻梦,太感谢了!!! 正是这个debug造成的。你真是好人啊 ,好人一生平安幸福 :sweat_smile:

3年前 评论

我按照同样的方法,都配置完成了,Debug也关闭了,还是token验证失败呢! 真实头大,搞了一下午没搞定

2年前 评论
phpervip (楼主) 2年前
webeditor (作者) 2年前
phpervip (楼主) 2年前

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