IOSOR Vedomosti

Podpis webhooku a okno opakovania: idempotencia, aby 02:00 ostalo nudné

Overujte podpisy, obmedzte okno opakovania a urobte prichádzajúce webhooky idempotentné — nikdy neprijímajte nepodpísané callbacky, nikdy nedeitujte prepaid dvakrát na retry.

Nepodpísaný callback nie je udalosť. Je to neautentizované HTTP, ktoré náhodou vyzerá ako váš payload. Tímy, ktoré «najprv prijmú, potom overia», platia o 02:00: prehrané DLR, zdvojené STOP alebo druhý debit peňaženky, ktorý finance nevie vrátiť. Prepaid robí chybu viditeľnou v peniazoch. Nudné návyky: podpis na každej požiadavke, obmedzené okno opakovania, kľúče idempotencie, ktoré finance číta vedľa riadku ledgeru.

IOSOR očakáva auditovateľné B2B integrácie: podpísané webhooky, rotovateľné tajomstvá, client-safe chyby bez cudzích značiek. Blízko USD 1,000+ mesačného použitia sa ID korelácie a dôkaz opakovania stávajú materiálom commercial review. Párujte s webhooky a kľúče pri spustení a webhooky, ktoré prežijú spustenie.

Nepodpísané callbacky nie sú udalosti

Overte podpis, kým parsujete obchodné polia. Odmietnite chýbajúce, prešlé alebo nesúladené podpisy client-safe chybou — nespracúvajte «aj tak pre pilota». Staging konzument, ktorý preskakuje overenie, učí produkciu preskakovať. Katalóg live správ neznamená, že URL webhooku je verejná skládka. Ak nepreukážete, kto podpísal telo, nemáte udalosť; máte falšovanú požiadavku.

Okná opakovania a prečo sa stáva 02:00

Doručenie aspoň-raz retried pri timeout, 5xx a nejednoznačnej strate siete. Neskorý retry o 02:00 je normálny. Okno obmedzuje, ako dlho podpísaný payload ostáva prijateľný: príliš široké a útočník prehrá staré STOP; príliš úzke a legitímny retry vyzerá ako falzifikát. Logujte odmietnutia okna zvlášť od chýb podpisu. Pozrite opakovania prichádzajúceho webhooku. Odpovedzte rýchlo, persistujte najprv, spracujte async — handler, ktorý robí CRM pred ACK, vyrába duplikáty.

Idempotencia, ktorú finance prečíta

Rovnaké ID udalosti musí dať rovnaký koncový stav. Vytiahnite ID udalosti/správy platformy — nevymýšľajte kľúč z pečiatky plus tela. Vráťte úspech na známom ID bez opätovného debitu. Odchádzajúce odoslania potrebujú rovnakú kázeň — idempotencia, opakovania a peniaze. Finance má vysvetliť každý prepaid riadok proti stavovej udalosti. Ak timeout spôsobí búrku retry klienta, ledger ukáže škodu prvý. Katalóg in setup nie je výhovorka preskočiť idempotenciu «do Live».

Rotácia podpisu bez chaosu dvojakého prijatia

Rotujte tajomstvá bez okna, kde staré aj nové podpisy sú prijímané navždy. Naplánujte prekrytie, potom režte. Nikdy nevkladajte produkčné tajomstvo do tiketu. Oddelte sandbox a produkčných konzumentov. Dead-letter s nástrojmi opakovania, aby ops mohol znova ísť neúspešného konzumenta bez vymýšľania druhého debitu. Neste ID korelácie od odoslania k riadku ledgeru, aby 02:00 bolo runbook, nie archeológia.

Červené vlajky

  • Handler prijíma nepodpísané telá «zatiaľ»
  • Žiadne okno opakovania, alebo merané v týždňoch
  • Prepísanie stavu bez porovnania pečiatok
  • Vedľajšie účinky CRM/e-mail pred ACK
  • Produkčné tajomstvo v chate
  • Zdvojené ID udalostí minulý mesiac bez dohľadu
  • Chyby klientovi sypajúce surové upstream kódy

Začnite s IOSOR

Otvorte si konzolu IOSOR a skontrolujte nastavenia aktívneho webhookového bodu pre doručovacie dopyty a udalostné spätné volania. Nastavte tesné overovacie okno pre podpis na päť minút a pevne naviažte obsluhu na ID udalosti platformy. Otestujte koncový bod so zopakovanými dátami v testovacom prostredí, aby duplikáty vracali stav 200 OK bez spustenia zbytočnej podnikovej logiky.

Zhrnutie IOSOR

Neoverené obslužné rutiny webhookov a chýbajúce okná pre opakovanie menia bežné sieťové pokusy na bezpečnostné zraniteľnosti a duplicitné zmeny stavu.

Pomohol tento sprievodca?

Súvisiace návody