Editing
Jak sdělit zákazníkovi odhad času bez planých slibů
Jump to navigation
Jump to search
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
<br>Nezapomínejte ani na ochranu proti CSRF útokům, pokud používáte cookies. Jednoduchým řešením je vlastní hlavička, kterou server vyžaduje u každého požadavku, nebo použití SameSite atributu s hodnotou 'Strict' či 'Lax'. Tím zajistíte, že token nebude odeslán z cizího webu. Na závěr: JWT je výkonný nástroj, ale vyžaduje pečlivou implementaci. Věnujte čas testování scénářů, jako je vypršení, manipulace s tokenem nebo pokus o opětovné použití starého tokenu. Jen tak dosáhnete skutečného zabezpečení vašeho API.<br><br>Při návrhu API myslete na to, že JWT je bezstavový – server si nepamatuje, komu token vydal. To znamená, že pokud uživatele zablokujete, token zůstane platný až do expirace. Proto je vhodné zavést mechanismus pro kontrolu verze tokenu (např. číslo v databázi) nebo krátkou dobu platnosti. Pro odvolání přístupu můžete také udržovat černou listinu JTI (jedinečného identifikátoru tokenu) na serveru, ale to částečně ztrácí výhodu bezstavovosti.<br><br>EXPOSE 3000<br><br>V praxi se vyplatí komunikovat odhad jako interval, ne jako jeden bod. Například ,,předpokládám, že to bude hotové mezi středou a pátkem" dává prostor pro drobné komplikace a vy se vyhnete situaci, kdy musíte nedodržet slib. Pokud zákazník trvá na přesném datu, nabídněte mu kompromis: ,,Jistě to bude do pátku, ale pokud to půjde rychleji, ozvu se dříve." Tím přebíráte odpovědnost, ale necháváte si manévrovací prostor. Důležité je, abyste nikdy neřekli ,,určitě" nebo ,,garantuji", pokud si nejste jisti. Raději použijte ,,očeká[https://rikkiepedia.nl/index.php?title=Z%C3%A1sady_%C4%8Dist%C3%A9ho_k%C3%B3du_v_JavaScriptu_pro_ka%C5%BEdodenn%C3%AD_praxi osvětlení v obýváku]ám" nebo ,,plánuji".<br><br>Jak na udržovatelnou dokumentaci bez velké námahy Nejlepší dokumentace je ta, která se tvoří automaticky a žije s kódem. Místo ručního psaní Markdownu zkuste generátory, které popis vytvoří z anotací v controlleru nebo ze schémat. Důležité je, aby se dokumentace aktualizovala při každé změně – jinak se z ní stane lež. Pokud takový nástroj zavést nemůžete, alespoň si vytvořte šablonu a doplňte popis hned při psaní endpointu, ne až na konci sprintu. In case you have virtually any questions with regards to exactly where along with how to employ [https://Citiesofthedead.net/index.php/Rovnov%C3%A1ha_mezi_jednotkov%C3%BDmi_a_integra%C4%8Dn%C3%ADmi_testy_p%C5%99i_r%C5%AFstu_projektu barvy stěn do obýváku], you are able to e mail us in our own web-site. Pozor na to, že dokumentace má být čitelná i pro člověka, který projekt nezná – vyhněte se interním zkratkám a slovům, která dávají smysl jen vám.<br><br>Druhým kritickým bodem je expirace tokenu. Krátká platnost (např. 15 minut) snižuje okno pro zneužití, ale zvyšuje zátěž na přihlašování. Řešením je kombinace krátkodobého přístupového tokenu a dlouhodobého refresh tokenu. Refresh token by měl být uložen na serveru a měl by mít možnost být zneplatněn – například při odhlášení nebo změně hesla. Ukládejte refresh token v HttpOnly cookie, abyste zabránili přístupu z JavaScriptu a snížili riziko XSS útoků.<br><br>Častou chybou je také to, že lidé zákazníkovi slibí termín bez ohledu na vlastní kapacitu. Mějte vždy přehled o tom, kolik práce už máte. Když cítíte, [https://www.wikipedia.org/wiki/%C5%BEe%20term%C3%ADn že termín] je nereálný, rovnou to řekněte: ,,Tento týden nestíhám, ale první volný termín je příští středu." Taková věta působí profesionálně. Pokud ale už jednou slib padl a vy víte, že ho nestíháte, kontaktujte zákazníka co nejdříve – ideálně dřív, než se sám zeptá. Vysvětlete důvod a nabídněte nový termín, který je znovu s rezervou. Tím ukazujete, že situaci kontrolujete a že vám na něm záleží.<br><br>Posledním tipem je psát si závazky do smlouvy nebo do e-mailu. Když máte termín černé na bílém, snáz se vám ho dodrží a vy se vyhnete dohadům. Ale pozor: smlouva by měla obsahovat i to, že termín je orientační a může se posunout v případě vyšší moci. Tím se chráníte, ale nezahazujete kredit. Vždy se snažte dodat dřív, než jste řekli, i kdyby to bylo jen o den. Zákazník pak vnímá, že jste spolehliví, a příště vám uvěří bez zbytečných otázek. Komunikace odhadu je totiž hlavně o budování důvěry – a ta se staví na upřímnosti, ne na planých slibech.<br><br>Dalším krokem je verze API. V dokumentaci vždy uvádějte, pro kterou verzi popis platí. Pokud měníte chování endpointu, navrhněte změnu tak, aby starší klienti nebyli rozbití (např. pomocí rozšíření nebo nového endpointu). Typická chyba: backend změní formát data z „YYYY-MM-DD" na „DD.MM.YYYY" a frontend začne padat. Uveďte proto v dokumentaci i příklady formátů, a pokud je to možné, držte se konvencí, které frontend očekává.<br><br>Prvním krokem je správná volba algoritmu podpisu. Doporučuje se používat asymetrický algoritmus RS256, kde soukromý klíč drží pouze server a veřejný klíč slouží k ověření. Pokud použijete symetrický HS256, musíte sdílet stejný tajný klíč mezi všemi službami, což zvyšuje riziko úniku. Při podepisování vždy nastavte dostatečnou délku klíče – pro RS256 minimálně 2048 bitů. Nikdy nepoužívejte algoritmus 'none', který umožňuje podepsat token bez jakéhokoli klíče.<br>
Summary:
Please note that all contributions to IT-Core are considered to be released under the GNU Free Documentation License 1.3 or later (see
IT-Core:Copyrights
for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource.
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Create account
Log in
Namespaces
Page
Discussion
English
Views
Read
Edit
View history
More
Search
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Tools
What links here
Related changes
Page information