laravels 使用laravel-wechat 组件
程序员文章站
2022-12-21 16:32:43
一. laravels (5.4)使用 laravel wechat (4.13),出现无法登陆的情况,显示没有code 错误,解决办法 前提:已经在laravels.php 的 cleaners 中打开了 SessionCleaner 和 AuthCleaner。 1. 复制 \vendor\ov ......
一. laravels (5.4)使用 laravel-wechat (4.13),出现无法登陆的情况,显示没有code 错误,解决办法
前提:已经在laravels.php 的 cleaners 中打开了 sessioncleaner 和 authcleaner。
- 复制 \vendor\overtrue\laravel-wechat\src\middleware\oauthauthenticate.php 到项目中\app\http\middleware 中
- 修改代码
$officialaccount = app(\sprintf('wechat.official_account.%s', $account)); //解决认证没有code的问题,可以参考官方的 https://github.com/hhxsv5/laravel-s/blob/master/knownissues-cn.md 使用wechat包的问题 $officialaccount['request'] = $request;
- 修改\app\http\kernel.php 使用新的中间件,访问可以登陆。
二. 新的问题
现在可以登陆了,但是会出现退出之后再次登陆,会提示:code been used。看日志,每次登陆使用的是同一个code, 解决方法如下:
修改config/laravels.php在register_providers 中增加 overtrue\laravelwechat\serviceprovider::class
重启laravels 可以再次登陆。