欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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。

  1. 复制 \vendor\overtrue\laravel-wechat\src\middleware\oauthauthenticate.php 到项目中\app\http\middleware 中
  2. 修改代码
$officialaccount = app(\sprintf('wechat.official_account.%s', $account)); 
//解决认证没有code的问题,可以参考官方的 https://github.com/hhxsv5/laravel-s/blob/master/knownissues-cn.md 使用wechat包的问题
$officialaccount['request'] = $request;     
  1. 修改\app\http\kernel.php 使用新的中间件,访问可以登陆。

二. 新的问题

现在可以登陆了,但是会出现退出之后再次登陆,会提示:code been used。看日志,每次登陆使用的是同一个code, 解决方法如下:

  1. 修改config/laravels.php在register_providers 中增加 overtrue\laravelwechat\serviceprovider::class

  2. 重启laravels 可以再次登陆。