IOSOR Kunskap

Signatur- och replayfönstergrind

Produktionsgrind: verifiera signatur och avgränsa replayfönstret innan en webhook blir pengar eller statussanning — osignerade eller gamla händelser förblir stängda vid fel.

Att acceptera overifierade eller fördröjda webhooks utsätter förbetalda konton för förfalskade saldon och dubbla debiteringsfel via replay-attacker. Du måste tillämpa en strikt ingångsgrind som kryptografiskt validerar signaturer och omedelbart kastar alla anrop vars tidsstämpel ligger utanför toleransfönstret innan några medel kan påverkas.

Relaterat: webhook-signatur och replayfönster, omsändning av inkommande webhook, Gemensamt statusspråk för produkt och finans, Debitrader vs leveransstatus på samma ledger.

Signaturverifiering är en pengargrind

Pengar och statussanning börjar först när signaturkontrollen går igenom. Saknade, felaktiga eller hoppade signaturer misslyckas stängt — ingen huvudboksrad, ingen «levererad ändå för piloten». Katalog Live avstår inte från grinden. Vanedjup: webhook-signatur och replayfönster. Mjuka USD 1 000/månad behandlar «acceptera osignerad i staging för alltid» som produktionsskuld; USD 20 bevisar att en förfalskad kropp aldrig bokför en debitering.

Replayfönster före statussanning

Grindkontroll Betyder att den passerar Betyder avvisning
Signatur finns + giltig Autentiserad händelse Avvisa; inga pengar/status
Tidsstämpel i fönster Tillräckligt färsk att lita på Avvisa som replay/gammal
Händelse-ID ej sett Första acceptans ACK utan andra debitering
Kontraktshändelse listad I köparens händelsemeny Släpp okänd typ

Leverans minst en gång kommer att försöka igen. Ett sent försök utanför fönstret är inte «kanske levererad». Logga fönsteravvisningar separat från signaturfel. Djup för inkommande försök: omsändning av inkommande webhook.

Stäng vid fel när grinden avvisar

Avvisade händelser hittar aldrig på framgång. Produkt och finans delar samma avvisningsord — inte hjältemodiga uppströmskoder: Gemensamt statusspråk för produkt och finans. Debitrader förblir endast i linje med accepterade händelser: Debitrader vs leveransstatus på samma ledger. Bieffekter endast efter ACK; CRM-arbete måste ske innan grinden skapar dubbel sanning.

Produkt, finans och drift delar ett bevis

Produkt: kan en legitim signerad händelse i fönstret uppdatera status en gång? Finans: visar varje pengapåverkande händelse grindpass i samma UTC-fönster? Drift: exportera signaturfel mot fönsteravvisningar utan Slack-arkeologi.

Köparens checklista för signatur- och replaygrinden

Säkerställ att ditt system avvisar osignerade händelser automatiskt. Sätt replayfönstret så kort som möjligt för att minska risken. Kontrollera att händelse-ID loggas för att förhindra dubbelbearbetning. Bekräfta att huvudboksbokföring sker först efter grindpass.

Börja med IOSOR

I konsolen: Signature + replay window gate before first webhook accept.. Namnge ägare och grindar före uppskalning.

Relaterat: webhook signature replay window inbound sms webhook retries idempote

IOSOR-sammanfattning

Det här är ops-disciplin för jour—inte brochure.

Gör: name owner + gate. Undvik: skip the gate.

Var den här guiden till hjälp?

Relaterade guider