Я пытался использовать lumen
для простого и легкого REST API
интерфейса, используя пакеты lumen + arubacao / http-basic-auth-guard .
Я попал впроблема узкого места: Argument 2 passed to Arubacao\BasicAuth\BasicGuard::__construct() must be an instance of Illuminate\Contracts\Auth\UserProvider, 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' => App\User::class
],
],
'providers' => [
//
],
'passwords' => [
//
],
];
Содержимое загрузочного файла / app.php
require_once __DIR__.'/../vendor/autoload.php';
try {
(new Dotenv\Dotenv(__DIR__.'/../'))->load();
} catch (Dotenv\Exception\InvalidPathException $e) {
//
}
$app = new Laravel\Lumen\Application(
realpath(__DIR__.'/../')
);
$app->withFacades();
$app->withEloquent();
$app->singleton(
Illuminate\Contracts\Debug\ExceptionHandler::class,
App\Exceptions\Handler::class
);
$app->singleton(
Illuminate\Contracts\Console\Kernel::class,
App\Console\Kernel::class
);
$app->routeMiddleware([
'auth' => App\Http\Middleware\Authenticate::class,
]);
$app->register(App\Providers\AuthServiceProvider::class);
$app->register(Arubacao\BasicAuth\BasicGuardServiceProvider::class);
$app->router->group([
'namespace' => 'App\Http\Controllers',
], function ($router) {
require __DIR__.'/../routes/web.php';
});
return $app;
* настройка аналогична документированной в репозитории arubacao / http-basic-auth-guard
Версия Lumen: 5.6.4