Iată cum gestionează Inertia.js autentificarea și autorizarea în aplicațiile cu o singură pagină (SPA):
Autentificare
1. Inertia.js nu necesită un sistem special de autentificare precum OAuth. În schimb, vă permite să utilizați sistemul de autentificare furnizat de cadrul dvs. pe partea de server, cum ar fi sistemul de autentificare bazat pe sesiune din Laravel. [3]
2. Trusele de pornire ale Laravel, Breeze și Jetstream, oferă schele ieșite din cutie pentru noile aplicații Inertia.js, inclusiv funcționalitatea de autentificare. [3]
3. Pentru a accesa utilizatorul autentificat în componentele dvs. Inertia.js, puteți utiliza metoda `Inertia.share()` pentru a transmite utilizatorul autentificat ca suport paginilor dvs. [4]
Autorizare
1. Pentru autorizarea bazată pe tipuri de resurse (de exemplu, utilizatorul poate vizualiza modulul de postări sau poate crea o postare nouă), puteți trece verificările de autorizare ca elemente de recuzită componentelor paginii dvs. Inertia.js. [1][2]
2. Pentru a verifica autorizarea pentru anumite entități de resurse (de exemplu, utilizatorul poate edita o anumită postare), puteți adăuga un atribut „permisiuni” modelelor dvs. Eloquent care conține verificările de autorizare pentru acea entitate. Apoi, puteți transmite aceste date „permisiuni” ca suport componentelor dumneavoastră Inertia.js. [4]
3. Cheia este să efectuați verificările de autorizare pe partea serverului și apoi să transmiteți rezultatele componentelor dvs. Inertia.js ca elemente de recuzită. Acest lucru asigură că logica de autorizare nu este expusă pe partea clientului, ceea ce ar putea fi manipulat. [4]
4. Inertia.js nu oferă propriul sistem de autorizare, ci mai degrabă se integrează cu sistemul de autorizare al cadrului dvs. de pe partea serverului (de exemplu, Poarta și Politicile Laravel). [4]
În rezumat, Inertia.js gestionează autentificarea utilizând sistemul de autentificare al cadrului dvs. de pe partea serverului și se ocupă de autorizare efectuând verificări pe partea serverului și transmițând rezultatele ca elemente de recuzită componentelor dvs. Inertia.js. Această abordare asigură că logica de autentificare și autorizare este păstrată în siguranță pe partea serverului.
Citate:[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