Как реализовать опцию «remember me» на нескольких устройствах для одного пользователя?

Из коробки Laravel предоставляет функцию запоминания пользователей, которая работает только на одном устройстве для одного пользователя (из-за того, что в базе данных соответствие между пользователями и remember_token'ами один к одному). Это влечет за собой довольно странное для пользователя поведение моего сайта: зашел с пк->зашел с телефона-> вернулся на пк, но там сайт его уже забыл. Странно, что в таком популярном фреймворке, как laravel, этот момент так плохо реализован.

Можно было бы сделать отдельную таблицу remember_tokens, в которой хранить id пользователя, токен и id устройства, сделать кастомный guard и провайдер, но, насколько я понимаю, для того, чтобы я потом мог работать с системой аутентификации laravel (фасадом Auth, и другими вещами), моя модель User должна реализовывать интерфейс Authenicatable, но в нем все методы заточены под единственный remember_token...

Может я слишком всё усложняю? Каков правильный путь, чтобы это сделать?
  • Вопрос задан
  • 602 просмотра
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы