Vianoce v ITnetwork sú tu! Dobí si teraz kredity a získaj až 80 % extra kreditov na e-learningové kurzy ZADARMO. Zisti viac.
Hľadáme nové posily do ITnetwork tímu. Pozri sa na voľné pozície a pridaj sa k najagilnejšej firme na trhu - Viac informácií.

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

Vedomosti v hodnote stoviek tisíc získaš za pár korún

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

Kúpiť všetky aktuálne dostupné lekcie s funkciou odovzdávanie úloh a certifikátom za exkluzívnu cenu 355 kreditov
Aktuálny stav konta 0 kreditov
Kúpou tohoto výhodného balíčku získaš prístup ku všetkým 16 článkom (15 lekcií, test) s kontrolou a certifikáciou a ešte naviac ušetríš 106 Kč. Ponuka je časovo obmedzená a platí pro všetky lekcie v kurze. Nakúp teraz a získaj limitovanou 23% zľavu.

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.

Čo od nás v ďalších lekciách dostaneš?
  • 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ť.

Článok pre vás napísal Martin Macura
Avatar
Aktivity