#php #laravel #lumen
#php #laravel #lumen
Вопрос:
Пытался использовать lumen
для простого и легковесного REST API
интерфейса, используя пакеты lumen arubacao/ http-basic-auth-guard composer.
Я добрался до проблемы с узким местом, которая: Argument 2 passed to ArubacaoBasicAuthBasicGuard::__construct() must be an instance of IlluminateContractsAuthUserProvider, null given,
called in /Applications/MAMP/htdocs/app.mydomain.com/api/vendor/arubacao/http-basic-auth-guard/src/BasicGuardServiceProvider.php on line 38
Содержимое config/auth.php:
return [
'defaults' => [
'guard' => env('AUTH_GUARD', 'api'),
],
'guards' => [
'api' => [
'driver' => 'basic',
'provider' => 'users'
],
// ...
],
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => AppUser::class
],
],
'providers' => [
//
],
'passwords' => [
//
],
];
Содержимое bootstrap/app.php
require_once __DIR__.'/../vendor/autoload.php';
try {
(new DotenvDotenv(__DIR__.'/../'))->load();
} catch (DotenvExceptionInvalidPathException $e) {
//
}
$app = new LaravelLumenApplication(
realpath(__DIR__.'/../')
);
$app->withFacades();
$app->withEloquent();
$app->singleton(
IlluminateContractsDebugExceptionHandler::class,
AppExceptionsHandler::class
);
$app->singleton(
IlluminateContractsConsoleKernel::class,
AppConsoleKernel::class
);
$app->routeMiddleware([
'auth' => AppHttpMiddlewareAuthenticate::class,
]);
$app->register(AppProvidersAuthServiceProvider::class);
$app->register(ArubacaoBasicAuthBasicGuardServiceProvider::class);
$app->router->group([
'namespace' => 'AppHttpControllers',
], function ($router) {
require __DIR__.'/../routes/web.php';
});
return $app;
* настройка такая же, как задокументирована в репозитории arubacao / http-basic-auth-guard
Версия Lumen: 5.6.4
Комментарии:
1. Что здесь делает ваш пустой массив providers?
2. @Md.SukelAli: Получилось!
Ответ №1:
return [
'defaults' => [
'guard' => env('AUTH_GUARD', 'api'),
],
'guards' => [
'api' => [
'driver' => 'basic',
'provider' => 'users'
],
// ...
],
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => AppUser::class
],
],
// This should be removed, it was leftover from the boiler template of lumen repo.
'providers' => [
//
],