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

相關文章
相關標籤/搜索