@Creed1234

Как правильно реализуется аутефикация?

Пробую реализовать аунтефикацию с функцией remember me и без.

Реализую без стандартного Auth::attempt($credentials, $remember)

Логика такая, если пользователь потавил галочку remember me, создаю куку на время и записываю ее в бд хэшируя.
Каждый раз при роутах, через middleware проверяю идентичность куки и хэша записи бд.
Если все ок, пропускаю.

Если пользователь не ставит remember me, как обходить middleware на проверку наличия куки?

Если дополнительным условием в middleware написать проверку авторизован ли пользователь
if (Auth::check()) {
return $next($request);
}

После закрытия вкладки и нового открытия авторизация живет вместе с сессией. Если включить удаление сессии при закрытие вкладки - перестанет работать функция remember me через куку, потому что она тоже удалиться.

Направьте, куда думать
  • Вопрос задан
  • 92 просмотра
Пригласить эксперта
Ответы на вопрос 1
jey_val_star
@jey_val_star
Программист
Каждый раз при роутах, через middleware проверяю идентичность куки и хэша записи бд.
Если все ок, пропускаю.


эмм, не совсем корректное решение
кука должна только сообщить серверу что пользователь был авторизован и его нужно заново авторизовать если сессия закончилась... (браузер закрыли)

логика должна быть такая - пользователь вводит логин и пароль, выбирает галочку "запомнить"
сервер создает сессию на этого пользователя и создает куку
пользователь покинул сайт (закрыл вкладку/браузер), потом вернулся - сервер смотрит:
- авторизован?
если нет - может кука есть?
кука есть - авторизуем - то есть создаем новую сессию
а если и куки нет или уже закончилась по времени - тогда пусть по новой авторизуется
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы