Inertia zpracovává autentizaci uživatelů pomocí Laravelu tím, že využívá vestavěné autentizační funkce Laravelu a rozšiřuje je tak, aby bezproblémově fungovaly s architekturou jednostránkových aplikací (SPA) Inertia. Zde jsou klíčové body:
1. Použití výchozího ověření Laravel:
- Inertia používá výchozí autentizaci Laravel založenou na relaci, což znamená, že uživatelé jsou autentizováni pomocí vestavěných autentizačních mechanismů Laravelu.
- Tento přístup eliminuje potřebu vytvářet samostatné API pro autentizaci, protože Inertia může přímo interagovat s autentizačním systémem Laravel[1][2][3].
2. Sdílení ověřeného uživatele:
- Ke sdílení ověřeného uživatele s frontendem se používá metoda Inertia `share`. To umožňuje frontendu přistupovat k objektu uživatele a používat jej pro kontroly autorizace[2].
3. Kontroly autorizace:
- Kontroly autorizace se provádějí na frontendu pomocí objektu uživatele sdíleného Inertia. To zajišťuje, že frontend může dynamicky zobrazovat nebo skrývat obsah na základě oprávnění uživatele[2].
4. Transformace dat:
- Transformace dat je zásadní pro kontrolu autorizace. Metodu „sdílení“ společnosti Inertia lze použít k transformaci dat předtím, než se dostanou do frontendu, což usnadňuje zpracování složitých požadavků na autorizaci[2].
5. Startovací sady:
- Laravel poskytuje startovací sady jako Laravel Breeze a Laravel Jetstream, které nabízejí krásně navržené výchozí body pro začlenění ověřování do vaší čerstvé aplikace Laravel. Tyto sady obsahují možnosti lešení založené na Livewire nebo Inertia, což usnadňuje integraci ověřování s vaší aplikací Inertia[4].
Využitím těchto funkcí poskytuje Inertia bezproblémový a efektivní způsob, jak zvládnout autentizaci uživatelů pomocí Laravel, což vývojářům umožňuje soustředit se na vytváření jejich aplikací, aniž by se museli starat o složitost ověřování a autorizace.
Citace:[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