Перечитал кучу статей, документацию, понятнее не стало, напротив, только усугубило ситуацию.
Как правильно организовать архитектуру многоролевого api на laravel? (guest, user, admin, owner)
Я создал 3 контроллера:
UserController (
extends Controller),
AdminController (
extends UserController),
OwnerController (
extends AdminController).
Как я понял, таблица в БД у меня будет одна -
users, в ней будет поле
role_id, в котом будет идентификатор роли, следовательно, нужно ли создавать отдельные модели?
С какими трудностями я столкнулся:
1. Как организовать структуру файла config\auth.php? (guards, providers)
spoiler'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'passport',
'provider' => 'users',
'hash' => false,
],
],
...
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\Models\User::class,
],
],
2. Нужно ли что-то добавлять в
AuthServiceProvider в метод
boot?
spoilerpublic function boot()
{
$this->registerPolicies();
Passport::routes();
Passport::tokensExpireIn(now()->addMinutes(30));
Passport::refreshTokensExpireIn(now()->addDays(30));
# Passport::personalAccessTokensExpireIn(now()->addMonths(6));
}
3. Нужно ли что-то еще добавлять помимо перечисленного? (Laravel & Passport)