Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Hvordan administrerer InertiaJS autentisering og autorisasjon i SPA-er


Hvordan administrerer InertiaJS autentisering og autorisasjon i SPA-er


Her er hvordan Inertia.js administrerer autentisering og autorisasjon i enkeltsideapplikasjoner (SPAer):

Autentisering

1. Inertia.js krever ikke et spesielt autentiseringssystem som OAuth. I stedet lar den deg bruke autentiseringssystemet som leveres av rammeverket på serversiden, for eksempel det øktbaserte autentiseringssystemet i Laravel. [3]

2. Laravels startsett, Breeze og Jetstream, gir ut-av-boksen stillas for nye Inertia.js-applikasjoner, inkludert autentiseringsfunksjonalitet. [3]

3. For å få tilgang til den autentiserte brukeren i Inertia.js-komponentene dine, kan du bruke `Inertia.share()`-metoden for å sende den autentiserte brukeren som en rekvisitt til sidene dine. [4]

Autorisasjon

1. For autorisasjon basert på ressurstyper (kan brukeren f.eks. se innleggsmodulen eller opprette et nytt innlegg), kan du sende autorisasjonssjekkene som rekvisitter til sidekomponentene på Inertia.js. [1][2]

2. For å sjekke autorisasjon for spesifikke ressursenheter (kan brukeren f.eks. redigere et bestemt innlegg), kan du legge til et «permissions»-attributt til Eloquent-modellene dine som inneholder autorisasjonssjekkene for den enheten. Deretter kan du sende disse `tillatelser`-dataene som en rekvisitt til Inertia.js-komponentene dine. [4]

3. Nøkkelen er å utføre autorisasjonssjekkene på serversiden og deretter sende resultatene til Inertia.js-komponentene dine som rekvisitter. Dette sikrer at autorisasjonslogikken ikke blir eksponert på klientsiden, noe som kan bli tuklet med. [4]

4. Inertia.js tilbyr ikke sitt eget autorisasjonssystem, men integreres heller med autorisasjonssystemet til rammeverket ditt på serversiden (f.eks. Laravel's Gate and Policies). [4]

Oppsummert administrerer Inertia.js autentisering ved å utnytte autentiseringssystemet til rammeverket på serversiden, og det håndterer autorisasjon ved å utføre sjekkene på serversiden og sende resultatene som rekvisitter til Inertia.js-komponentene dine. Denne tilnærmingen sikrer at autentiserings- og autorisasjonslogikken holdes sikker på serversiden.

Sitater:
[1] https://inertiajs.com/authorization
[2] https://legacy.inertiajs.com/authorization
[3] https://inertiajs.com/authentication
[4] https://sebastiandedeyne.com/handling-authorization-in-a-laravel-and-inertia-application
[5] https://www.youtube.com/watch?v=1xHfpDhuPzA