Inertia se ocupă de autentificarea utilizatorilor cu Laravel utilizând funcțiile de autentificare încorporate ale Laravel și extinzându-le pentru a funcționa perfect cu arhitectura aplicației cu o singură pagină (SPA) a Inertia. Iată punctele cheie:
1. Folosind autentificarea implicită a Laravel:
- Inertia folosește autentificarea implicită bazată pe sesiune Laravel, ceea ce înseamnă că utilizatorii sunt autentificați folosind mecanismele de autentificare încorporate ale Laravel.
- Această abordare elimină necesitatea de a crea un API separat pentru autentificare, deoarece Inertia poate interacționa direct cu sistemul de autentificare al lui Laravel[1][2][3].
2. Partajarea utilizatorului autentificat:
- Metoda `share` a lui Inertia este folosită pentru a partaja utilizatorul autentificat cu frontend-ul. Acest lucru permite frontend-ului să acceseze obiectul utilizator și să-l folosească pentru verificări de autorizare[2].
3. Verificări de autorizare:
- Verificările de autorizare sunt efectuate pe front-end folosind obiectul utilizator partajat de Inertia. Acest lucru asigură că interfața poate afișa sau ascunde în mod dinamic conținutul pe baza permisiunilor utilizatorului[2].
4. Transformarea datelor:
- Transformarea datelor este crucială pentru verificările de autorizare. Metoda „share” a lui Inertia poate fi folosită pentru a transforma datele înainte ca acestea să ajungă pe front-end, facilitând gestionarea cerințelor complexe de autorizare[2].
5. Seturi de pornire:
- Laravel oferă kituri de pornire precum Laravel Breeze și Laravel Jetstream care oferă puncte de pornire frumos concepute pentru a încorpora autentificarea în noua aplicație Laravel. Aceste kituri includ opțiuni de schele bazate pe Livewire sau Inertia, facilitând integrarea autentificării cu aplicația dvs. Inertia[4].
Prin valorificarea acestor funcții, Inertia oferă o modalitate eficientă și eficientă de a gestiona autentificarea utilizatorilor cu Laravel, permițând dezvoltatorilor să se concentreze pe construirea aplicației lor fără a-și face griji cu privire la complexitatea autentificării și autorizării.
Citate:[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