Jak zajistit API pomocí JWT tokenů

From IT-Core
Jump to navigation Jump to search

Pro zpětnou vazbu používejte model „Situace – Dopad – Návrh". Každý bod musí obsahovat, kdy k situaci došlo, jaký měla dopad na tým a jaký konkrétní postup by situaci zlepšil. Například: „Když jsme v pondělí nasazovali novou verzi, musel jsem čekat na schválení od vedoucího, což zdrželo testování o hodinu. Navrhuji, aby schvalovací právo měl každý seniorní člen týmu." Tento formát nutí mluvit o faktech a řešeních, ne o emocích.

Příklad v pseudokódu: vezmete metodu, která sčítá dvě čísla. Test zavolá soucet(2, 3) a očekává 5. Pokud metoda vrátí cokoli jiného, test selže. To je celé. První test by měl být takto triviální, abyste si ověřili, že framework funguje, že se test spouští a že vidíte výsledek. Teprve poté přidávejte složitější scénáře, jako jsou okrajové hodnoty, prázdné vstupy nebo výjimky.

Závěrem: efektivní verzování není o nástrojích, ale o návycích. Stanovte si týmová pravidla pro názvy větví, četnost mergů a způsob řešení konfliktů. Pravidelně kontrolujte, že vaše větev je stále aktuální, a po dokončení feature ji co nejdříve mergněte. Díky tomu bude váš kód přehledný, historie čistá a týmová spolupráce bez zbytečného tření. Vyplatí se investovat čas do nastavení automatických kontrol (CI) a code review, které odhalí problémy dřív, než se dostanou do hlavní větve.

Nakonec si ujasněte, kdy JWT nepoužívat. Pro veřejná API s nízkou citlivostí můžete postačit API klíče, ale pro uživatelská data je JWT vhodný. Nevýhodou je, že token nelze snadno odvolat před vypršením, pokud nezavedete denylistu. Zvažte proto kompromis: krátká platnost, refresh tokeny a případně černá listina pro okamžité zablokování účtu. Správné použití JWT tokenů vyžaduje disciplínu v nastavení, ale po nasazení získáte robustní a škálovatelnou ochranu.

Pozor na jeden častý omyl: při testování autentizace neukládejte tokeny přímo do testů či do kolekce. Místo toho využijte skript v sekci „Pre-request Script", který token získá z přihlašovacího požadavku a uloží ho do proměnné prostředí. Například po úspěšném přihlášení si odpověď uložíte do proměnné accessToken a v dalších požadavcích ji použijete v hlavičce Authorization. Tím se vyhnete duplicitnímu kódu a zvýšíte bezpečnost.

Pamatujte také na to, že open source je o spolupráci, ne o soutěži. Neberte si kritiku osobně – code review je standardní součástí procesu. Když vám někdo navrhne změny, snažte se je pochopit a zdvořile na ně reagovat. Pokud nesouhlasíte, vysvětlete proč, ale buďte připraveni diskutovat. Dobrým zvykem je poděkovat recenzentovi za čas.

Klíčové aspekty a časté chyby Nejprve musíte správně nastavit podepisování. Používejte symetrický algoritmus HMAC-SHA256 pro jednoduché případy, ale pro produkční prostředí zvolte asymetrický RSA, kdy soukromý klíč držíte na serveru a veřejný klíč sdílíte s ověřovacími službami. Ukládejte klíče mimo zdrojový kód, nejlépe do proměnných prostředí nebo tajných trezorů. Nikdy nepodepisujte token s prázdným tajemstvím nebo slabým heslem – to je nejčastější chyba, kterou útočníci zneužívají.

Na závěr si osvojte práci s historií a sdílením. Historie požadavků vám umožní vrátit se k dřívějšímu volání, aniž byste ho museli znovu sestavovat. Pro týmovou spolupráci využijte možnost exportovat kolekci do sdíleného souboru nebo ji propojit s verzovacím systémem. Vyhnete se tak nesrovnalostem mezi členy týmu. Pamatujte také na to, že každý požadavek by měl mít popisný název a komentář, což oceníte při zpětné analýze.

Základem je rozdělit zpětnou vazbu na tři oblasti: co fungovalo, co nefungovalo a co nás překvapilo. Tento jednoduchý rámec nutí účastníky přemýšlet konkrétně. Místo „komunikace byla špatná" se objeví „zpoždění v našem kanálu na Discordu způsobilo, že jsme dva dny čekali na rozhodnutí". Překvapení zase otevírá prostor pro neočekávané poznatky, které by jinak zapadly. Každý bod by měl být krátký, jednořádkový, a měl by popisovat situaci, ne osobu.

Základem je pochopit rozdíl mezi kolekcí a prostředím (environment). Kolekce slouží k seskupení souvisejících požadavků, zatímco prostředí uchovává proměnné, jako jsou adresy serverů, přihlašovací tokeny nebo identifikátory. Vytvořte si alespoň dvě prostředí – jedno pro testovací a druhé pro produkční prostředí. Díky tomu přepnete mezi nimi jedním kliknutím, aniž byste museli ručně měnit každou adresu. Pro proměnné používejte klíče ve formátu promenna, které Postman automaticky dosadí do URL, hlaviček i těla požadavku.

Praktické tipy pro psaní testů a automatizaci Postman nejen odesílá požadavky, ale umožňuje i psát automatizované testy v JavaScriptu. Po odeslání požadavku přejděte na kartu „Tests" a přidejte ověření, že odpověď má očekávaný stavový kód, obsahuje správnou strukturu JSON nebo že hodnota v odpovědi odpovídá zadané. Typickým příkladem je kontrola, že pm.response.to.have.status(200) nebo že pole data je pole a není prázdné. Tyto testy se ukládají do kolekce a lze je spouštět hromadně pomocí Collection Runneru, což je zásadní pro regresní testy.