13. diel - Zabezpečenie endpointov v Node.js na rolu administrátora
V minulej lekcii, Bezpečnostné hrozby - Ako správne ukladať heslá v Node.js? , sme si vysvetlili bezpečnostné hrozby spojené s ukladaním hesiel používateľov.
V tomto Node.js tutoriále pridáme autorizáciu na rolu administrátora na endpointy nášho API, ktoré upravujú dáta a preto by nemali byť verejné.
Route handlers
Route handler je funkcia, ktorá sa vykoná pred
spracovaním požiadavky u zvolených endpointov. Doteraz sme si
ukazovali spracovávanie požiadavky iba jedným callbackom. Týchto callbackov
ale môže byť viac a hovorí sa im práve route handlers. Každý v rade
môže rozhodnúť, či sa má zavolať ten ďalší, alebo či už môžeme
odpoveď na požiadavku odoslať späť klientovi. Máme tak skvelú
príležitosť nevykonať ďalšiu obsluhu endpointu v prípade, že sa
užívateľa nepodarí autorizovať. Ďalší handler zadávame ako
parameter route handleru (väčšinou je nazvaný next
).
requireAuthHandler()
- Handler na prihlásených užívateľov
Poďme si vytvoriť taký route handler, ktorý nepustí požiadavku ďalej v prípade, že používateľ nie je prihlásený. Nasledujúcu funkciu si pridajme k validačným funkciám:
const requireAuthHandler = (req, res, next) => { const user = req.session.user; if (!user) { res.status(401).send("Najprv sa prihláste"); return; } next(); }
Pokiaľ v danej session neexistuje objekt user
, užívateľ nie
je prihlásený a API vráti odpoveď, že je nutné sa najskôr prihlásiť. V
opačnom prípade handler
...koniec náhľadu článku...
Pokračuj ďalej
Minul si až sem a to je super! Veríme, že ti prvé lekcie ukázali niečo nového a užitočného.
Chceš v kurze pokračovať? Prejdi do prémiové sekcie.
Obmedzená ponuka: Nauč sa všetko a ušetri
Pred kúpou tohto článku je potrebné kúpiť predchádzajúci diel
Obsah článku spadá pod licenciu Premium II, kúpou článku súhlasíš so zmluvnými podmienkami.
- Neobmedzený a trvalý prístup k jednotlivým lekciím.
- Kvalitné znalosti v oblasti IT.
- Zručnosti, ktoré ti pomôžu získať vysnívanú a dobre platenú prácu.
Popis článku
Požadovaný článok má nasledujúci obsah:
V Node.js tutoriále naprogramujeme v JavaScripte zabezpečenia endpointov API na rolu administrátora pomocou route handler.
Kredity získaš, keď podporíš našu sieť. To môžeš urobiť buď zaslaním symbolickej sumy na podporu prevádzky alebo pridaním obsahu na sieť.