JWT bez kontrolní logiky: kde tokeny tiše selhávají

Aus Rettungsdienst-Wiki
Version vom 1. Oktober 2026, 18:24 Uhr von Craig75N89845127 (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „Prvním krokem je určit, kdo je autorem a kdo drží práva. U firemních projektů platí, že práva zaměstnanců přecházejí na zaměstnavatele jen tehdy, pokud je to smluvně ošetřeno. U externích spolupracovníků je nutné mít písemné přiřazení práv, jinak nemáte oprávnění licence udělovat. Teprve poté má smysl řešit, kterou licenci zvolit.<br><br>Prvním praktickým krokem je otestovat databázi na vlastním vzorku dat, ne na…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Prvním krokem je určit, kdo je autorem a kdo drží práva. U firemních projektů platí, že práva zaměstnanců přecházejí na zaměstnavatele jen tehdy, pokud je to smluvně ošetřeno. U externích spolupracovníků je nutné mít písemné přiřazení práv, jinak nemáte oprávnění licence udělovat. Teprve poté má smysl řešit, kterou licenci zvolit.

Prvním praktickým krokem je otestovat databázi na vlastním vzorku dat, ne na cizím demu. Vezměte reprezentativní sadu záznamů – včetně okrajových případů, jako jsou prázdné hodnoty, dlouhé texty, znaky s diakritikou nebo neobvyklá data. Nahrajte je do testovací instance a zkuste spustit dotazy, které odpovídají reálnému provozu. Sledujte přitom chování při chybách: co se stane, když dotaz selže, když dojde místo na disku nebo když se přeruší spojení. Právě v těchto situacích se ukáže, zda je podpora skutečná, nebo jen formální.

Komenty piš tam, kde vysvětlují proč, ne co. // zvýšíme počítadlo nad i++ je zbytečný. // API vrací data bez pole items, proto kontrola má smysl. Stejně tak se vyhni zakomentovanému kódu, který tam zůstal po experimentu. Buď ho smaž, nebo si ho nech v historii změn. V editoru nemá co dělat.

Prvním krokem je zvolit si nástroj a nainstalovat si ho lokálně. Většina vývojářů skončí u Gitu, protože je všude a funguje i bez připojení k síti. Po instalaci si nastavte jméno a e-mail, které se budou zapisovat do historie. Pak si v kořeni projektu spusťte inicializaci repozitáře. Tím vznikne skrytá složka, do které nástroj ukládá všechny změny. Tuhle složku nikdy needitujte ručně a nikdy ji nemažte, pokud si nejste jistí, co děláte.

Základem je ověřit podpis přesně tím algoritmem, který očekáváte. Nikdy nenechávejte knihovnu, aby si algoritmus vybrala podle hlavičky alg z tokenu. Pokud aplikace podporuje HS256 i RS256, musíte dopředu rozhodnout, který použijete, a ostatní odmítnout. Zvlášť nebezpečná je kombinace, kdy se veřejný klíč z RS256 dá podstrčit jako HMAC secret. Vždy porovnávejte iss, aud a exp; token bez expirace je jen trvalý přístupový klíč v cizích rukou.

Co hlídat při vydávání a ukládání Access token držte krátký, v řádu minut. Refresh token ukládejte jako serverovou relaci s možností odvolání, ne jako další JWT bez stavu. Do payloadu nepatří hesla, rodná čísla ani interní identifikátory, které nechcete ukázat. Pamatujte, že payload je jen base64, nikoli šifra. Pokud potřebujete skrýt obsah, použijte JWE, nebo raději držte citlivá data na serveru a do tokenu dejte pouze odkaz.

Poslední věc, kterou je potřeba zařídit brzy, je záloha historie mimo váš počítač. Lokální repozitář vás ochrání před vlastními chybami, ale ne před selháním disku. Přidejte si vzdálené úložiště a po každé dokončené práci tam změny odešlete. Tím získáte třetí vrstvu jistoty: máte aktuální stav, máte historii a máte i kopii mimo stroj. Až tohle budete dělat automaticky, přestanete řešit, co jste kde rozbili, a začnete řešit skutečnou práci.

Jakmile zvládnete ukládat změny, naučte se pracovat s větvemi. Větev je oddělená linka vývoje, na které můžete zkoušet nové věci, aniž byste rozbili funkční verzi. Pro malé úpravy stačí jedna hlavní větev, pro větší práci si vytvořte novou, dokončete ji a pak ji sloučte zpět. Při slučování může dojít ke konfliktu, když stejné místo upravily dvě větve. Není to katastrofa – otevřete soubor, vyberte správnou variantu a uložte výsledek.

Druhá častá chyba je ukládat změny příliš pozdě a příliš mnoho najednou. Jeden obří zápis s popisem „úpravy" vám při hledání chyby nepomůže. Ukládejte po menších kusech, vždycky když dokončíte jednu logickou věc – opravu chyby, novou komponentu, úpravu stylů. Ke každému uložení napište krátkou zprávu, která říká, co se změnilo a proč. Budete si za měsíc děkovat, až budete potřebovat zjistit, kdy se něco pokazilo.

Co patří do historie a co ne Než uděláte první uložení stavu, vytvořte soubor, který řekne nástroji, co má ignorovat. Do něj patří složky s nainstalovanými závislostmi, dočasné soubory, lokální konfigurace s hesly a cokoliv, co se generuje automaticky při buildu. Typická chyba začátečníka je, že tam tyhle věci nedá a pak řeší konflikty v souborech, které nikdy neměl verzovat. Platí jednoduché pravidlo: do historie patří jen to, co jste napsali vy a co je potřeba ke spuštění projektu na jiném počítači.

Stavy, na které se zapomíná Největší rozdíl mezi prototypem a použitelnou aplikací jsou stavové obrazy. Vývojář často řeší jen ten šťastný případ: data dorazila, vše se vykreslilo. Ale co prázdný seznam? Co načítání? Co chyba sítě? Co neplatný vstup? Každá z těchto situací potřebuje vlastní obrazovku nebo alespoň text. Prázdný stav nemá být bílá plocha, ale krátká věta a výzva k akci. Chybová hláška nemá být „Error 500", ale co se pokazilo a co má uživatel udělat dál. Načítání delší než zlomek sekundy potřebuje indikaci, jinak uživatel klikne znovu.