Если ты в 2025 году ты всё ещё руками собираешь авторизацию на Laravel для своей админки — у меня для тебя плохие новости. Ты либо получаешь удовольствие от страданий (либо просто не знаешь про Admiral).
А если нет желания быть заложником бесконечного копипаста и конфигурационного ада, то есть один очень простой способ перестать тратить часы на одни и те же ритуалы.
В этом гайде я покажу, как за пару движений поставить работающую связку Laravel + фронт + нормальную авторизацию и забыть про вечный треш с настройками.
Шаг 1. Laravel — ставим и запускаем
Создай папку admiral-laravel-init
, зайди в неё и давай установим Laravel.
composer global require laravel/installer
laravel new backend
cd backend
composer run dev
Открываешь в браузере http://localhost:8000
— видишь приветственную страницу? Круто, значит Laravel ожил.
Шаг 2. Admiral — твой спаситель
Теперь в корне проекта:
npx create-admiral-app@latest
В ответ выбери Install the template without backend setting, дай имя проекту admin
. После установки зайди в admin
и
npm i
В .env
поправь:
VITE_API_URL=http://localhost:8000/admin
И запусти фронт:
npm run build && npm run dev
Открывай http://localhost:3000
и вперёд — ты уже на странице логина.
Шаг 3. Авторизация — делаем по-человечески
Берём Laravel Sanctum, ставим и настраиваем:
php artisan install:api
Добавляем guard admin
в config/auth.php
:
'admin' => [
'driver' => 'sanctum',
'provider' => 'users',
],
В User.php
добавляем:
use Laravel\Sanctum\HasApiTokens;
class User extends Authenticatable
{
use HasApiTokens, Notifiable, HasFactory;
}
Шаг 4. Контроллер для входа, выхода и проверки
Код AuthController — тут особо и комментировать нечего, всё просто:
// ... (вставь как в оригинале)
Шаг 5. Формы и ресурсы
Тут без сюрпризов: валидируем логин, возвращаем пользователя.
// LoginRequest.php и AuthUserResource.php — как в оригинале
Шаг 6. Сервисы и защита от дурака
Никаких излишеств, в AuthService
просто проверяем пароль.
LimitLoginAttempts
— ловим левые попытки взлома.
Шаг 7. Роуты
Пропиши маршруты для авторизации и защиты:
// routes/admin.php — как выше
Не забудь подключить в bootstrap/app.php.
Шаг 8. Сидируем тестового юзера
User::factory()->create([
'name' => 'Test User',
'email' => 'test@example.com',
'password' => bcrypt('12345678'),
]);
php artisan db:seed
Итог
Запускай бекенд, фронт — и залогинься. Если что-то не работает, погугли CORS или попробуй мой лайфхак с config/cors.php
.
Вот и вся магия. Патчи, костыли и лишние библиотеки — в топку.
Если хочешь прокачать CRUD или вписать роли — пиши, расскажу, как сделать круто и быстро.
Вот так просто можно перестать страдать с авторизацией и заняться нормальным кодом.
Мнения?