Lūk, kā Inertia.js pārvalda autentifikāciju un autorizāciju vienas lapas lietojumprogrammās (SPA):
Autentifikācija
1. Inertia.js nav nepieciešama īpaša autentifikācijas sistēma, piemēram, OAuth. Tā vietā tas ļauj izmantot autentifikācijas sistēmu, ko nodrošina jūsu servera puses sistēma, piemēram, uz sesiju balstīto autentifikācijas sistēmu Laravel. [3]
2. Laravel sākuma komplekti, Breeze un Jetstream, nodrošina gatavus sastatnes jaunām Inertia.js lietojumprogrammām, tostarp autentifikācijas funkcionalitāti. [3]
3. Lai piekļūtu autentificētajam lietotājam savos Inertia.js komponentos, varat izmantot metodi Inertia.share()”, lai nodotu autentificēto lietotāju kā palīglīdzekli savām lapām. [4]
Autorizācija
1. Lai veiktu autorizāciju, pamatojoties uz resursu veidiem (piemēram, vai lietotājs var skatīt ziņu moduli vai izveidot jaunu ziņu), varat nodot autorizācijas pārbaudes kā rekvizītus jūsu Inertia.js lapas komponentiem. [1][2]
2. Lai pārbaudītu konkrētu resursu entītiju autorizāciju (piem., vai lietotājs var rediģēt konkrētu ziņu), saviem Eloquent modeļiem varat pievienot atribūtu "atļaujas", kas satur šīs entītijas autorizācijas pārbaudes. Pēc tam varat nodot šos atļauju datus kā atbalstu saviem Inertia.js komponentiem. [4]
3. Galvenais ir veikt autorizācijas pārbaudes servera pusē un pēc tam nosūtīt rezultātus saviem Inertia.js komponentiem kā rekvizītus. Tas nodrošina, ka klienta pusē netiek atklāta autorizācijas loģika, ko var sabojāt. [4]
4. Inertia.js nenodrošina savu autorizācijas sistēmu, bet gan integrējas ar jūsu servera puses sistēmas autorizācijas sistēmu (piemēram, Laravel's Gate un Policies). [4]
Rezumējot, Inertia.js pārvalda autentifikāciju, izmantojot jūsu servera puses ietvara autentifikācijas sistēmu, un tā apstrādā autorizāciju, veicot pārbaudes servera pusē un nosūtot rezultātus kā palīgierīces jūsu Inertia.js komponentiem. Šī pieeja nodrošina autentifikācijas un autorizācijas loģikas drošību servera pusē.
Citāts:[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