Каждый раз, когда ваша страница обращается к API, она, по сути, говорит о совершенно новом экземпляре API.
Думай об этом так. Ваша конечная точка «входа в систему» на самом деле не говорит API, чтобы кто-то входил в систему. Она просто говорит о том, что вызывающий абонент утверждает, что данный пароль принадлежит данному пользователю, конец истории. Если вы хотите превратить эту аутентификацию в реальное поведение при входе в систему с точки зрения пользовательского интерфейса, вам нужно предпринять и другие шаги.
Если Laravel подает файлы Blade для вашего сайта, это другая история. Из коробки он генерирует сеанс Php для вас и отправляет cookie сессионного ключа в браузер для использования в последующих запросах.
Подобно ключу сеанса, для поддержания сеанса между веб-сайтом и отдельным API-интерфейсом каждый последующий вызов должен включать токен. И вам нужна конечная точка входа в систему, чтобы предоставить этот токен при успешной аутентификации.
Паспорт - это один из способов, но он может быть излишним для вашей ситуации. Паспорт хорош для обработки пользователей, клиентов и разрешений авторизации. Но если все, что вам нужно, это аутентификация, и вы не так заинтересованы в контроле того, к чему у них есть доступ, тогда я настоятельно рекомендую Tymon JWT-Auth .
И в Passport, и в JWT-Auth используются "токены на предъявителя" в заголовке "Авторизация". Однако есть и другие виды, такие как «основные токены». Основной токен - это просто закодированная конкатенация имени пользователя и пароля. Laravel поддерживает это с промежуточным программным обеспечением маршрута, но я все же рекомендую использовать JWT.
Одной из приятных особенностей JWT является то, что вы можете включать посторонние данные в сам токен. И это позволяет вам лучше использовать Passport (OAuth2), если / когда вам это нужно, не требуя, чтобы ваша клиентская сторона изменила метод аутентификации.