"Как создать регистрацию и авторизацию в Laravel"
Аутентификация — одна из базовых задач любого веб-приложения. Laravel предоставляет готовую систему auth, которая позволяет быстро реализовать:
- регистрацию;
- login/logout;
- защиту маршрутов;
- восстановление пароля;
- email verification.
В этой статье разберём, как работает Laravel auth и как быстро настроить авторизацию.
Что такое Laravel Auth
Laravel auth — встроенная система аутентификации пользователей.
Она включает:
- login;
- registration;
- session auth;
- password reset;
- middleware;
- guards.
Самый простой способ — Laravel Breeze
Laravel Breeze — минималистичный starter kit для auth.
Установка Laravel Breeze
Создайте проект:
laravel new blog
Установка Breeze
composer require laravel/breeze --dev
Установка frontend
Blade
php artisan breeze:install
React
php artisan breeze:install react
Vue
php artisan breeze:install vue
Установка зависимостей
npm install
npm run dev
Миграции
php artisan migrate
Что создаёт Laravel Breeze
Breeze автоматически создаёт:
- login;
- registration;
- forgot password;
- email verification;
- auth middleware;
- frontend pages.
Laravel Login
После установки доступны маршруты:
/login
/register
/dashboard
Middleware auth
Защита маршрутов:
Route::middleware('auth')->group(function () {
Route::get('/dashboard', function () {
//
});
});
Проверка пользователя
auth()->user();
Logout
Auth::logout();
Laravel Session Authentication
По умолчанию Laravel использует session-based auth.
Это лучший вариант для:
- CRM;
- SaaS;
- админок;
- корпоративных систем.
Email Verification
Laravel поддерживает подтверждение email.
Route::middleware(['auth', 'verified'])->group(function () {
//
});
Password Reset
Breeze автоматически подключает reset password functionality.
Laravel Fortify
Для кастомной auth-логики можно использовать:
- Laravel Fortify;
- Jetstream.
CSRF защита
Laravel автоматически защищает формы через CSRF token.
@csrf
Laravel Auth Guards
Laravel поддерживает multiple guards.
Например:
- web;
- api;
- admin.
Лучшие практики Auth
Рекомендуется:
- включать email verification;
- использовать rate limiting;
- включать HTTPS;
- хранить passwords через bcrypt/argon2;
- использовать middleware.
Laravel Auth и API
Для API обычно используют:
- Sanctum;
- Passport;
- JWT.
Итоги
Laravel auth — мощная и гибкая система аутентификации.
С помощью Breeze можно за несколько минут реализовать:
- login;
- registration;
- password reset;
- middleware protection;
- полноценную систему пользователей.