13. diel - Zabezpečenie endpointov v Node.js na rolu administrátora

V minulej lekcii, Autentizácia, autorizácia a registrácia užívateľov v Node.js , sme si vysvetlili rozdiel medzi autentizáciou a autorizáciou a následne naprogramovali registráciu uží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

Vedomosti v hodnote stoviek tisíc získaš za pár eur

Došiel 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émiovej sekcie.

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íš s Prevádzkovými podmienkami.

Čo od nás v ďalších lekciách dostaneš?
  • Prístup k jednotlivým lekciám podľa spôsobu obstarania.
  • 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.
Článok pre vás napísal Martin Macura
Avatar
Aktivity