Ошибка аутентификации Lumen — исключение ReflectionException в Container.php строка 572: Запрос класса не существует

#php #laravel #lumen

#php #laravel #lumen

Вопрос:

Я получаю сообщение об ошибке:

Исключение ReflectionException в Container.php строка 572: Запрос класса не существует

Смотрите код, который я использую для моего routes.php страница.

 $app->get('/records', ['middleware' => 'auth', function (Request $request) {
    $user = Auth::user();
    return json_encode($user);
}]);
  

Я следую документации на веб-сайте Lumen. Раскомментировал соответствующие строки с bootstrap/app.php

Ниже приведен мой код промежуточного программного обеспечения:

 <?php

namespace AppHttpMiddleware;

use Closure;
use IlluminateContractsAuthFactory as Auth;

class Authenticate
{
    protected $auth;
    public function __construct(Auth $auth)
    {
        $this->auth = $auth;
    }

    public function handle($request, Closure $next, $guard = null)
    {
        if ($this->auth->guard($guard)->guest()) {
            return response()->json('unauthorized', 401);
        }

        return $next($request);
    }
}
  

и файл AuthServiceProvider:

 <?php

namespace AppProviders;

use AppUser;
use IlluminateSupportFacadesGate;
use IlluminateSupportServiceProvider;

class AuthServiceProvider extends ServiceProvider
{
    public function register()
    {
    }

    public function boot()
    {
        $this->app['auth']->viaRequest('api', function ($request) {
            if ($request->header('Authorization')) {
                $user = User:: where('api_token', '=', substr($request->header('Authorization'), 6))->first();
                return $user;
            }
            return null;
        });
    }
}
  

Ответ №1:

добавьте эту строку

 use IlluminateHttpRequest; 
  

в вашем routes.php