Inertia obsługuje uwierzytelnianie użytkowników za pomocą Laravel, wykorzystując wbudowane funkcje uwierzytelniania Laravel i rozszerzając je, aby bezproblemowo współpracowały z architekturą aplikacji jednostronicowej (SPA) Inertia. Oto najważniejsze punkty:
1. Korzystanie z domyślnego uwierzytelniania Laravel:
- Inertia wykorzystuje domyślne uwierzytelnianie oparte na sesji Laravela, co oznacza, że użytkownicy są uwierzytelniani przy użyciu wbudowanych mechanizmów uwierzytelniania Laravel.
- Takie podejście eliminuje potrzebę tworzenia osobnego API do uwierzytelniania, ponieważ Inertia może bezpośrednio współdziałać z systemem uwierzytelniania Laravel [1] [2] [3].
2. Udostępnianie uwierzytelnionego użytkownika:
- Metoda „share” firmy Inertia służy do udostępniania uwierzytelnionego użytkownika interfejsowi. Dzięki temu frontend ma dostęp do obiektu użytkownika i wykorzystuje go do kontroli autoryzacji[2].
3. Kontrole autoryzacyjne:
- Kontrole autoryzacji przeprowadzane są na interfejsie użytkownika przy użyciu obiektu użytkownika udostępnionego przez Inertia. Dzięki temu frontend może dynamicznie wyświetlać lub ukrywać treść w oparciu o uprawnienia użytkownika[2].
4. Przekształcanie danych:
- Transformacja danych ma kluczowe znaczenie dla kontroli autoryzacji. Metodę „share” firmy Inertia można wykorzystać do transformacji danych, zanim dotrą one do interfejsu użytkownika, co ułatwia obsługę złożonych wymagań autoryzacyjnych[2].
5. Zestawy startowe:
- Laravel udostępnia zestawy startowe, takie jak Laravel Breeze i Laravel Jetstream, które oferują pięknie zaprojektowane punkty wyjścia do włączenia uwierzytelniania do nowej aplikacji Laravel. Zestawy te obejmują opcje rusztowania oparte na Livewire lub Inertia, co ułatwia integrację uwierzytelniania z aplikacją Inertia[4].
Wykorzystując te funkcje, Inertia zapewnia płynny i skuteczny sposób obsługi uwierzytelniania użytkowników za pomocą Laravel, umożliwiając programistom skupienie się na budowaniu aplikacji bez martwienia się o zawiłości uwierzytelniania i autoryzacji.
Cytaty:[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