IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

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.

Kúpiť tento kurz

Kúpiť všetky aktuálne dostupné lekcie s funkciou odovzdávanie úloh a certifikátom iba za 460 kreditov
Aktuálny stav konta 0 kreditov
Kúpou tohoto balíčku získaš prístup ku všetkým 16 článkom (15 lekcií, test) tohoto kurzu.

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