Авторизация
Авторизация через форму
Чтобы авторизоваться, достаточно отправить форму ниже:
<form method="POST" action="{{ route('login') }}"> @csrf <input type="email" name="email" value="{{ old('email') }}" required> @error('email')) {{ $message }} @enderror <input type="password" name="password" required> @error('password')) {{ $message }} @enderror <input type="submit" value="Войти"> </form>
После нескольких неудачных попыток авторизоваться, авторизация заблокируется на одну минуту.
Авторизация через код (API)
Авторизоваться через код (API) можно с помощью метода Auth::attempt()
.
use Illuminate\Support\Facades\Auth; // … Auth::attempt(['email' => $email, 'password' => $password]);
Если получится авторизоваться, метод Auth::attempt()
вернёт «true», иначе вернёт «false».
Вместо поля «email» можно использовать любое другое поле.
Auth::attempt(['login' => $email, 'password' => $password]); Auth::attempt(['username' => $email, 'password' => $password]);
Поле «password» является обязательным. Если его не указать, то Laravel вернёт ошибку «Undefined index: password».
Также при авторизации можно указать дополнительные поля.
Auth::attempt(['email' => $email, 'password' => $password, 'active' => 1]);
Редирект после авторизации
Редирект после авторизации указывается в файле app/Http/Controllers/Auth/LoginController.php.
# app/Http/Controllers/Auth/LoginController.php protected $redirectTo = '/home';
Выйти
По умолчанию, выйти из своей страницы можно по URL «/logout» через Post-запрос.
<!-- отправить форму при нажатии по ссылке (указана в onclick) --> <a href="{{ route('logout') }}" onclick="event.preventDefault(); document.getElementById('logout-form').submit()">Log out</a> <!-- форма для выхода из страницы --> <form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none"> @csrf </form>
Также можно выйти через метод Auth::logout()
.
use Illuminate\Support\Facades\Auth; // … Auth::logout();
Поддержать автора