Inertia осуществляет аутентификацию пользователей с помощью Laravel, используя встроенные функции аутентификации Laravel и расширяя их для беспрепятственной работы с архитектурой одностраничных приложений (SPA) Inertia. Вот ключевые моменты:
1. Использование аутентификации по умолчанию в Laravel:
- Inertia использует аутентификацию Laravel на основе сеанса по умолчанию, что означает, что пользователи аутентифицируются с использованием встроенных механизмов аутентификации Laravel.
— Такой подход избавляет от необходимости создавать отдельный API для аутентификации, поскольку Inertia может напрямую взаимодействовать с системой аутентификации Laravel[1][2][3].
2. Передача авторизованного пользователя:
- Метод `share` Inertia используется для обмена аутентифицированным пользователем с интерфейсом. Это позволяет интерфейсу получить доступ к объекту пользователя и использовать его для проверки авторизации[2].
3. Проверка авторизации:
— Проверки авторизации выполняются во внешнем интерфейсе с использованием объекта пользователя, совместно используемого Inertia. Это гарантирует, что интерфейс может динамически отображать или скрывать контент в зависимости от разрешений пользователя[2].
4. Преобразование данных:
- Преобразование данных имеет решающее значение для проверок авторизации. Метод `share` Inertia можно использовать для преобразования данных до того, как они достигнут внешнего интерфейса, что упрощает обработку сложных требований авторизации[2].
5. Стартовые наборы:
- Laravel предоставляет стартовые наборы, такие как Laravel Breeze и Laravel Jetstream, которые предлагают красиво оформленные отправные точки для включения аутентификации в ваше новое приложение Laravel. Эти комплекты включают в себя варианты каркасов на основе Livewire или Inertia, что упрощает интеграцию аутентификации с вашим приложением Inertia[4].
Используя эти функции, Inertia обеспечивает простой и эффективный способ аутентификации пользователей с помощью Laravel, позволяя разработчикам сосредоточиться на создании своего приложения, не беспокоясь о тонкостях аутентификации и авторизации.
Цитаты:[1] https://atlas.dev/blog/using-inertia-with-laravel-in-2024
[2] https://sebastiandedeyne.com/handling-authorization-in-a-laravel-and-inertia-application
[3] https://github.com/inertiajs/inertia-laravel/issues/21
[4] https://laravel.com/docs/11.x/authentication
[5] https://stackoverflow.com/questions/66080777/laravel-inertia-js-and-vue-check-if-user-is-logged-in