Inertia sa zaoberá autentifikáciou používateľov s Laravel tým, že využije vstavané funkcie Autentifikácie spoločnosti Laravel a rozširuje ich, aby bezproblémovo pracovala s architektúrou jednostránkovej aplikácie (SPA) v zotrvačnosti. Tu sú kľúčové body:
1. Použitie Laravelovej predvolenej autentifikácie:
-Inertia používa Laravelovu predvolenú autentifikáciu založenú na relácii, čo znamená, že používatelia sú autentifikovaní pomocou vstavaných mechanizmov autentifikácie Laravela.
- Tento prístup eliminuje potrebu vytvoriť samostatné API pre autentifikáciu, pretože inertia môže priamo interagovať s Laravelovým autentifikačným systémom [1] [2] [3].
2. Zdieľanie autentifikovaného používateľa:
- Metóda inertia „Share` sa používa na zdieľanie autentifikovaného používateľa s frontendom. To umožňuje frontendu prístup k objektu používateľa a používať ho na kontrolu autorizácie [2].
3. Kontroly autorizácie:
- Kontroly autorizácie sa vykonávajú na frontendu pomocou objektu používateľa zdieľaného v inertii. To zaisťuje, že frontend môže dynamicky zobrazovať alebo skryť obsah na základe povolení používateľa [2].
4. Transformácia údajov:
- Transformácia údajov je rozhodujúca pre kontroly autorizácie. Metóda inertia „Share“ sa môže použiť na transformáciu údajov skôr, ako dosiahne frontend, čo uľahčuje spracovanie zložitých požiadaviek na autorizáciu [2].
5. Štartovacie súpravy:
- Laravel poskytuje štartovacie súpravy ako Laravel Breeze a Laravel Jetstream, ktoré ponúkajú krásne navrhnuté východiskové body na začlenenie autentifikácie do vašej čerstvej aplikácie Laravel. Tieto súpravy zahŕňajú možnosti lešenia založené na LiveWire alebo zotrvačnosti, čo uľahčuje integráciu autentifikácie s vašou aplikáciou zotrvačnosti [4].
Využitím týchto funkcií poskytuje zotrvačnosť plynulý a efektívny spôsob, ako zvládnuť autentifikáciu používateľov pomocou Laravela, čo vývojárom umožňuje zamerať sa na budovanie ich aplikácie bez obáv z zložitosti autentifikácie a autorizácie.
Citácie:[1] https://atlas.dev/blog/using-inertia-with-laravel-in-2024
[2] https://sebastiadedeyne.com/handling-authorization-in-alaravel-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-uue-check-if-user-is-logged-in