Siin on see, kuidas Inertia.js haldab autentimist ja autoriseerimist ühelehelistes rakendustes (SPA-d):
Autentimine
1. Inertia.js ei vaja spetsiaalset autentimissüsteemi nagu OAuth. Selle asemel võimaldab see kasutada teie serveripoolse raamistiku pakutavat autentimissüsteemi, näiteks Laraveli seansipõhist autentimissüsteemi. [3]
2. Laraveli stardikomplektid, Breeze ja Jetstream, pakuvad uutele Inertia.js-i rakendustele, sealhulgas autentimisfunktsiooni, valmiskarkassi. [3]
3. Inertia.js-i komponentides autentitud kasutajale juurde pääsemiseks saate kasutada meetodit "Inertia.share()", et edastada autentitud kasutaja oma lehtedele. [4]
Autoriseerimine
1. Ressursitüüpidel põhineva autoriseerimise jaoks (nt kas kasutaja saab vaadata postituste moodulit või luua uue postituse) saate autoriseerimiskontrollid edastada oma Inertia.js lehe komponentidele. [1][2]
2. Konkreetsete ressursiüksuste volituste kontrollimiseks (nt kas kasutaja saab konkreetset postitust redigeerida) saate lisada oma Eloquent-mudelitele atribuudi „load”, mis sisaldab selle olemi autoriseerimiskontrolle. Seejärel saate need "õiguste" andmed edastada oma Inertia.js komponentidele. [4]
3. Peamine on teostada autoriseerimiskontrollid serveri poolel ja seejärel edastada tulemused oma Inertia.js komponentidele rekvisiididena. See tagab, et autoriseerimisloogikat ei avaldata kliendi poolel, mida võidakse rikkuda. [4]
4. Inertia.js ei paku oma autoriseerimissüsteemi, vaid pigem integreerub teie serveripoolse raamistiku autoriseerimissüsteemiga (nt Laraveli värav ja poliitikad). [4]
Kokkuvõttes haldab Inertia.js autentimist, võimendades teie serveripoolse raamistiku autentimissüsteemi, ja tegeleb autoriseerimisega, teostades serveripoolseid kontrolle ja edastades tulemused teie Inertia.js komponentidele. See lähenemisviis tagab, et autentimis- ja autoriseerimisloogika hoitakse serveri poolel turvalisena.
Tsitaadid:[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