Inertia håndterer brugergodkendelse med Laravel ved at udnytte Laravels indbyggede godkendelsesfunktioner og udvide dem til at arbejde problemfrit med Inertias single-page application (SPA) arkitektur. Her er de vigtigste punkter:
1. Brug af Laravels standardgodkendelse:
- Inertia bruger Laravels standard sessionsbaserede autentificering, hvilket betyder, at brugere bliver autentificeret ved hjælp af Laravels indbyggede autentificeringsmekanismer.
- Denne tilgang eliminerer behovet for at oprette en separat API til godkendelse, da Inertia kan interagere direkte med Laravels autentificeringssystem[1][2][3].
2. Deling af den godkendte bruger:
- Inertias `share` metode bruges til at dele den godkendte bruger med frontend. Dette gør det muligt for frontenden at få adgang til brugerobjektet og bruge det til autorisationstjek[2].
3. Autorisationstjek:
- Autorisationstjek udføres på frontend ved hjælp af brugerobjektet delt af Inertia. Dette sikrer, at frontenden dynamisk kan vise eller skjule indhold baseret på brugerens tilladelser[2].
4. Transformering af data:
- Datatransformation er afgørende for autorisationstjek. Inertias `share`-metode kan bruges til at transformere data, før de når frontend, hvilket gør det nemmere at håndtere komplekse autorisationskrav[2].
5. Startsæt:
- Laravel leverer startsæt som Laravel Breeze og Laravel Jetstream, der tilbyder smukt designede udgangspunkter for at inkorporere autentificering i din friske Laravel-applikation. Disse sæt inkluderer stilladsmuligheder baseret på Livewire eller Inertia, hvilket gør det nemt at integrere autentificering med din Inertia-applikation[4].
Ved at udnytte disse funktioner giver Inertia en problemfri og effektiv måde at håndtere brugerautentificering med Laravel, hvilket giver udviklere mulighed for at fokusere på at bygge deres applikation uden at bekymre sig om forviklingerne ved godkendelse og autorisation.
Citater:[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