Если ты в 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 или вписать роли — пиши, расскажу, как сделать круто и быстро.
Вот так просто можно перестать страдать с авторизацией и заняться нормальным кодом.
Мнения?
Комментарии (4)
undersunich
08.08.2025 08:17Почему сразу не писать что это для Реакта? А если не нравится Реакт - какие еще есть варианты ?Vue ?
FanatPHP
08.08.2025 08:17Каша из топора. Сказка
Шёл солдат с похода, день-другой идёт, притомился, проголодался. Видит избушка стоит. Зашёл, а там бабушка сидит возле печи, старенькая-престаренькая. — Здравствуй, бабушка! Дай мне чего-нибудь поесть! — говорит солдат. — Ох, сынок, да вон там на гвоздике повесь! — отвечает старуха. — Ты что же это, совсем глуха, не чуешь? — Где хочешь, там и заночуешь. — Ах ты хитрая какая! Подавай на стол! — кричит солдат. — Да нечего, родимый! — Вари кашу! — Да не из чего, родимый! — Давай топор; я из топора сварю! — Что за диво! — думает старушка. — Дай посмотрю, как из топора солдат кашу сварит. Пошла в закуток и принесла служивому топор. А тот положил его в горшок, налил воды и давай себе варить. Варил, варил, попробовал и говорит: — Всем бы каша хороша, только бы чуточку крупы добавить! Старушка принесла ему крупы. Опять варил, варил, попробовал и говорит: — Совсем бы готово, только бы маслицем сдобрить! Старушка принесла ему и масла. Солдат тогда говорит: — Ну, теперь подавай хлеб да соль, да принимайся за ложку — станем кашу есть. Стали есть они вдвоём кашу. Наелись досыта. Старушка и спрашивает: — Служивый! Когда же топор будем есть? — Да видишь, он ещё не уварился, — отвечал солдат, — где-нибудь по дороге доварю и позавтракаю. Тотчас припрятал топор в свою сумку, простился с хозяйкой и пошёл в другую деревню. Вот так-то солдат и каши поел, и топор унёс!
Как не собирать авторизацию на Ларавле руками. Быль
Шаг 1. Ставим Laravel
Шаг 2. Ставим Admiral
Шаг 3. Ставим Laravel Sanctum, ставим и настраиваем:
Шаг 4. php artisan install:api
Шаг 5. Добавляем guard admin в config/auth.php:
Шаг 6. Добавляем в User.php
Шаг 7. Контроллер для входа, выхода и проверки
Шаг 8. Формы и ресурсы
Шаг 9. Сервисы и защита от дурака
Шаг 10. Роуты
Шаг 11. Сидируем тестового юзера
Gippsland
И в чём прикол, чем он лучше? Что то как то пусто. Где итог? Нейросеть плохо потрудилась
И репозиторий не работает.