Inertia hanterar användarautentisering med Laravel genom att utnyttja Laravels inbyggda autentiseringsfunktioner och utöka dem till att fungera sömlöst med Inertias ensidiga applikationsarkitektur (SPA). Här är de viktigaste punkterna:
1. Använda Laravels standardautentisering:
- Inertia använder Laravels standard sessionsbaserade autentisering, vilket innebär att användare autentiseras med hjälp av Laravels inbyggda autentiseringsmekanismer.
- Detta tillvägagångssätt eliminerar behovet av att skapa ett separat API för autentisering, eftersom Inertia direkt kan interagera med Laravels autentiseringssystem[1][2][3].
2. Dela den autentiserade användaren:
- Inertias `share`-metod används för att dela den autentiserade användaren med frontend. Detta tillåter gränssnittet att komma åt användarobjektet och använda det för auktoriseringskontroller[2].
3. Auktoriseringskontroller:
- Auktoriseringskontroller utförs på frontend med hjälp av användarobjektet som delas av Inertia. Detta säkerställer att gränssnittet dynamiskt kan visa eller dölja innehåll baserat på användarens behörigheter[2].
4. Transformera data:
– Datatransformation är avgörande för behörighetskontroller. Inertias `share`-metod kan användas för att transformera data innan den når frontend, vilket gör det lättare att hantera komplexa behörighetskrav[2].
5. Startpaket:
- Laravel tillhandahåller startpaket som Laravel Breeze och Laravel Jetstream som erbjuder vackert designade startpunkter för att integrera autentisering i din fräscha Laravel-applikation. Dessa kit inkluderar ställningsalternativ baserade på Livewire eller Inertia, vilket gör det enkelt att integrera autentisering med din Inertia-applikation[4].
Genom att utnyttja dessa funktioner ger Inertia ett sömlöst och effektivt sätt att hantera användarautentisering med Laravel, vilket gör att utvecklare kan fokusera på att bygga sin applikation utan att oroa sig för krångligheterna med autentisering och auktorisering.
Citat:[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