Webhook vyzerá ako jedna HTTP požiadavka. Bezpečne ho však zvládnuť znamená množstvo drobností, z ktorých každú ľahko pokazíte: overenie podpisu v konštantnom čase a rotáciu tajných kľúčov bez výpadku, odmietnutie starých alebo prehratých správ, jediné spracovanie opakovanej správy, presun pomalej práce mimo požiadavky, opakovanie voči nedostupnému príjemcovi bez toho, aby ste ho po návrate zahltili, ochranu internej siete pred URL adresami od zákazníkov a záznam, ktorý je užitočný, no neobsahuje tajomstvá. Webhooks for Laravel to všetko prináša s bezpečnými predvolenými hodnotami — pre oba smery a pre oba typy tímov.
Pre tímy, ktoré webhooky ponúkajú
- Webhooky ako funkcia pre vašich zákazníkov — v nastaveniach zadajú URL adresu a vyberú typy udalostí; váš kód posiela udalosti priebežne a zákazník dostáva podpísané správy, opakovania a záznam, ktorý mu môžete zobraziť.
- Trhoviská a e-shopy — objednávky, platby a doprava synchronizované s partnermi; ak sa transakcia, ktorá udalosť spustila, vráti späť, nič sa neodošle.
- Obnova po výpadku zákazníka — balík opakuje približne deň; endpoint znova zapnete a všetko, čo zlyhalo, odošlete jedným volaním alebo jedným príkazom.
- Stránka, ktorú môžete dať zákazníkom — ako prijímať a overovať vaše webhooky, s otestovaným kódom v PHP, Node, Pythone, Go a Ruby (pozrite Návod pre príjemcov).
Pre aplikácie, ktoré webhooky prijímajú
- Pripojenie platobnej alebo SaaS služby — vytvoríte prichádzajúci endpoint, jeho adresu a tajný kľúč vložíte do administrácie poskytovateľa a váš handler sa spustí raz pri každej zaplatenej faktúre či zrušenom predplatnom bez ohľadu na to, koľkokrát poskytovateľ správu zopakuje.
- Viacero poskytovateľov, jedna cesta — platby, e-podpis, CRM aj správa kódu prechádzajú rovnakým overeným, deduplikovaným a obmedzeným spracovaním; poskytovatelia s vlastným formátom podpisu dostanú vlastnú schému (webhooks:make-scheme github alebo stripe ju zapíše do vašej aplikácie).
- Interné platformy — viacero služieb si navzájom posiela udalosti ako podpísané a zaznamenané doručenia.
- Rotácia uniknutého tajného kľúča — vykonáte rotáciu; starý kľúč ešte deň funguje, kým sa druhá strana prispôsobí, potom prestane.
Opakovania, čakanie na žiadosť príjemcu, obmedzenie rýchlosti a automatické vypnutie sú správanie, ktoré vývojári poznajú z hostovaných služieb na doručovanie webhookov — tu beží priamo vo vašej aplikácii, na vašom fronte a s dátami vo vašej vlastnej databáze.
Čo balík nerobí: neobsahuje trasy ani rozhranie na správu — len prichádzajúcu trasu na príjem — takže obrazovky pre vašich zákazníkov sú vaše, postavené na API a JSON resources. Nezaručuje poradie doručení na jeden endpoint (príjemcovia radia podľa časovej pečiatky v obálke). A pri zapnutej ochrane pred SSRF neposiela cez výstupnú proxy.
Prejavte lásku k open source
Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.
Ďalšie spôsoby podpory vrátane kryptomienOdoslaním daru súhlasíte s našimi podmienkami prijímania darov.
Chcete to zabudovať do svojho produktu?
Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.