Как использовать святилище laravel без типичного laravel /login

Я создал PWA с NuxtJS,

то я собираюсь использовать пакет Sanctum, но я не хочу запрашивать к типичному маршруту Laravel /login, потому что у меня есть настроенный маршрут API /login, который аутентифицирует пользователей с помощью OTP, а не по паролю!

Так что мне интересно, как я могу использовать святилище в этой ситуации ??


person Milad Mohammadi    schedule 29.11.2020    source источник


Ответы (1)


Для этого вы можете использовать аутентификацию Sanctum на основе токенов. Все, что вам нужно сделать, это добавить трейт HasApiTokens к вашей аутентифицируемой модели и выдать для нее новые токены при успешном входе в систему. Таким образом, у вас будет маршрут, который будет принимать номер телефона или адрес электронной почты и выполнять действие входа в систему. Это заставит приложение отправить OTP пользователю. Вы должны хранить OTP где-то в системе. Затем создайте еще одну конечную точку, где пользователь может отправить обратно полученный одноразовый пароль. Затем этот маршрут проверит, совпадает ли предоставленный одноразовый пароль с одноразовым паролем в системе, и выдаст токен пользователю.

$token = $user->createToken(<provide-a-token-name>);

Обязательно отправьте токен открытого текста пользователю, используя функцию plainTextToken в экземпляре токена. Пользователю нужно будет добавить этот токен в запросы в качестве токена носителя в заголовке Authorization.

person tamrat    schedule 29.11.2020