Как стать автором
Поиск
Написать публикацию
Обновить

Laravel + Admiral: как не тратить полжизни на авторизацию

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров243

Если ты в 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 или вписать роли — пиши, расскажу, как сделать круто и быстро.

Вот так просто можно перестать страдать с авторизацией и заняться нормальным кодом.

Мнения?

Теги:
Хабы:
+1
Комментарии0

Публикации

Ближайшие события