Введите шаг в логин - PullRequest
       46

Введите шаг в логин

1 голос
/ 22 октября 2019

Я пытаюсь выполнить действие при первом входе пользователя в мой API. Я использую Laravel 6.2 с Passport через метод авторизации с предоставлением пароля.

Моя модель пользователя имеет следующие поля.

id, username, display_name, firstname, lastname, display_picture, locked, email, last_login, created_at, updated_at, deleted_at

Изначально я думал, что лучшим местом для посвящения будет правильноеперед тем, как маркер входа будет отправлен пользователю, однако, поскольку пользователь никогда не входил в систему до того, как поле last_login будет нулевым. Однако проблема заключается в том, что токен никогда не отправляется обратно пользователю на этом этапе. У меня нет способа подтвердить токен пользователя, когда он достигает стадии создания. Так что мой охранник запросов не имеет зарегистрированной информации о пользователе.

Auth()->guard('api')->user();

, то есть возвращает ноль. Есть идеи о том, как мне это сделать?

1 Ответ

0 голосов
/ 22 октября 2019

Этот ответ не относится к Laravel, но ваш вопрос напомнил мне о проблеме, которую я решил некоторое время назад.

То, что я сделал, было реализовано поле last_seen для объекта пользователя - это поле не былозаполняется при создании пользователя или проверке аккаунта. Вместо этого он заполнялся при входе в систему и содержательной деятельности, если файл cookie старый.

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


Это же поле можно заменить вычисляемой переменной, если предположить, что действия пользователявход в систему любым значимым способом.

Кроме того, это полезное значение как для деактивации неиспользуемых учетных записей, так и для «статуса», если платформа социальная.

...