Funkcia Requesto
Bezpečný odkaz pre klienta — token, expirácia a regenerácia
Bezpečný odkaz pre klienta v Requesto nie je statický zdieľaný priečinok. Každá požiadavka má unikátny token — v databáze uložený iba ako SHA-256 hash, nie v čitateľnej podobe. Odkaz má expiráciu a pri citlivých udalostiach sa regeneruje nový token.
Bežný zdieľaný odkaz nemá expiráciu ani väzbu na požiadavku
Odkaz z e-mailu alebo cloudu často zostane aktívny navždy a môže sa preposlať ďalej. Bez väzby na konkrétnu požiadavku neviete, či klient uploaduje správne súbory, a po kompromitácii linku nemáte jednoduchý spôsob ho zrušiť.
Requesto generuje token cez generatePublicToken() a ukladá hashPublicToken() do poľa public_token_hash. Pri overení sa token porovná s hashom — pri úniku databázy nie je token priamo zneužiteľný.
Táto funkcia popisuje mechanizmus odkazu — nie celý bezpečnostný balík. Signed URL pre sťahovanie, RLS a private bucket sú doplnkové vrstvy popísané v sekcii /bezpecnost.
Pre koho je to určené
- Profesionáli posielajúci citlivé dokumenty cez kontrolovaný kanál
- Účtovníci a poradcovia nahrádzajúci e-mailové prílohy
- Tímy s požiadavkou na obmedzenú platnosť prístupu
- Firmy, ktoré nechcú verejné cloudové odkazy
Príklady z praxe
Odoslanie požiadavky s 30-dňovou expiráciou
Token má token_expires_at. Po uplynutí termínu klient odkazom nenahrá — musíte vygenerovať nový.
Regenerácia po zamietnutí dokumentu
Pri zamietnutí sa zavolá regeneratePublicLink() a klient dostane nový token v e-maile. Starý odkaz prestane fungovať.
Pripomienka s novým odkazom
Cron endpoint pri pripomienke regeneruje token pred odoslaním e-mailu — klient vždy dostane aktuálny funkčný link.
Odporúčaný postup
Odoslanie požiadavky vygeneruje token
Systém vytvorí náhodný token, uloží jeho hash a nastaví expiráciu. URL má tvar /request/{token}.
Klient otvorí odkaz
API overí token proti hashu a skontroluje expiráciu. Pri neplatnom tokene klient vidí chybovú hlášku, nie obsah požiadavky.
Upload cez rovnaký token
POST na /api/public/request/{token} prijme súbor len pri platnom tokene a aktívnom stave požiadavky.
Regenerácia pri potrebe
Po zamietnutí, pripomienke alebo bezpečnostnom incidente sa vygeneruje nový token a starý hash sa prepíše.
Najčastejšie chyby
Zdieľanie odkazu viacerým klientom
Token je viazaný na jednu požiadavku jedného klienta. Pre iného klienta vytvorte samostatnú požiadavku s vlastným tokenom.
Ukladanie odkazu na verejné miesto
Token v URL je tajomstvo. Nepublikujte ho na webe ani v skupinových chatoch — pošlite ho priamo klientovi.
Predpoklad, že odkaz je šifrovaný kanál
HTTPS chráni prenos, ale samotný token v URL môže uniknúť cez históriu prehliadača. Pri citlivých dokumentoch nastavte rozumnú expiráciu.
Ako to rieši Requesto
Hash namiesto čitateľného tokenu v DB
V databáze je uložený SHA-256 hash. Overenie prebieha constant-time porovnaním — token nie je priamo čitateľný z DB.
Expirácia a blokovanie stavov
Po expirácii alebo pri stavoch cancelled/completed je upload zablokovaný. Klient nemôže meniť dokumenty po uzavretí.
Regenerácia bez ručnej práce
Pri zamietnutí a pripomienkach systém automaticky vytvorí nový token a odošle aktuálny odkaz klientovi.
Často kladené otázky
Je token v databáze uložený v čitateľnej podobe?
Nie. V poli public_token_hash je iba SHA-256 hash. Plný token poznáte len v momente generovania a v URL odoslanom klientovi.
Čo sa stane po expirácii odkazu?
Verejné API vráti chybu a upload nie je možný. Musíte regenerovať odkaz alebo vytvoriť novú požiadavku podľa stavu procesu.
Prestane fungovať starý odkaz po regenerácii?
Áno. Nový token prepíše hash v databáze. Predchádzajúci odkaz už neprejde overením.
Môže klient zmeniť token?
Nie. Token generuje server. Klient ho používa tak, ako ho dostane — nemá prístup k nastaveniam požiadavky.
Ako sa líši od /bezpecny-upload-dokumentov?
Produktová stránka opisuje celý bezpečný upload vrátane úložiska. Táto stránka sa zameriava na mechanizmus verejného odkazu a tokenu.
Loguje sa otvorenie odkazu?
Áno. Udalosť public_link_opened sa zapisuje do activity logu pri načítaní verejnej stránky požiadavky.
Súvisiace stránky
Pošlite klientovi bezpečný odkaz
Vytvorte zoznam požadovaných dokumentov, odošlite klientovi bezpečný odkaz a sledujte, čo ešte chýba — bez nekonečných e-mailov.