laravels 使用laravel-wechat 组件

一. laravels (5.4)使用 laravel-wechat (4.13),出现没法登录的状况,显示没有code 错误,解决办法

前提:已经在laravels.php 的 cleaners 中打开了 SessionCleaner 和 AuthCleaner。php

  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, 解决方法以下:laravel

  1. 修改config/laravels.php在register_providers 中增长 Overtrue\LaravelWeChat\ServiceProvider::classgit

  2. 重启laravels 能够再次登录。github

相关文章
相关标签/搜索