Takole je opisano, kako Inertia.js upravlja avtentikacijo in avtorizacijo v enostranskih aplikacijah (SPA):
Preverjanje pristnosti
1. Inertia.js ne zahteva posebnega sistema za preverjanje pristnosti, kot je OAuth. Namesto tega vam omogoča uporabo sistema za preverjanje pristnosti, ki ga zagotavlja ogrodje na strani strežnika, kot je sistem za preverjanje pristnosti, ki temelji na seji v Laravelu. [3]
2. Laravelova začetna kompleta, Breeze in Jetstream, zagotavljata vnaprej pripravljeno ogrodje za nove aplikacije Inertia.js, vključno s funkcijo preverjanja pristnosti. [3]
3. Za dostop do overjenega uporabnika v vaših komponentah Inertia.js lahko uporabite metodo `Inertia.share()`, da prenesete overjenega uporabnika kot prop na vaše strani. [4]
Pooblastilo
1. Za avtorizacijo na podlagi vrst virov (npr. ali si lahko uporabnik ogleda modul za objave ali ustvari novo objavo) lahko posredujete avtorizacijska preverjanja kot rekvizite svojim komponentam strani Inertia.js. [1][2]
2. Če želite preveriti avtorizacijo za določene entitete vira (npr. ali lahko uporabnik ureja določeno objavo), lahko svojim modelom Eloquent dodate atribut `dovoljenja`, ki vsebuje preverjanja avtorizacije za to entiteto. Nato lahko te podatke o `dovoljenjih` posredujete kot podporo svojim komponentam Inertia.js. [4]
3. Ključno je, da izvedete avtorizacijska preverjanja na strani strežnika in nato posredujete rezultate svojim komponentam Inertia.js kot pripomočke. To zagotavlja, da avtorizacijska logika ni izpostavljena na strani odjemalca, ki bi jo lahko posegali. [4]
4. Inertia.js ne ponuja lastnega avtorizacijskega sistema, ampak se integrira s avtorizacijskim sistemom vašega strežniškega ogrodja (npr. Laravel's Gate in Politike). [4]
Če povzamemo, Inertia.js upravlja preverjanje pristnosti z izkoriščanjem sistema preverjanja pristnosti vašega ogrodja na strani strežnika in obravnava avtorizacijo tako, da izvaja preverjanja na strani strežnika in posreduje rezultate kot pripomočke vašim komponentam Inertia.js. Ta pristop zagotavlja, da je logika avtentikacije in avtorizacije varna na strani strežnika.
Citati:[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