Skip to content

Extension points

phil/standard-webhooks-bundle

What an application implements, replaces, configures or relies on. The ports and their invariants are phil/standard-webhooks's.

Ports

Each is an alias that the application points at a service of its own — see Configuration.

PortShippedWhat the application's own does
Phil\StandardWebhooks\VerificationKeyProviderFixedKeys, the configured verification_keysKeys a sender publishes and rotates without a deployment: the receiver reloads them once before refusing a delivery; keys() never fetches
Phil\StandardWebhooks\ProcessedWebhookRepositoryDbalProcessedWebhooks, on connectionKeeps the processed ids elsewhere; claim() stays atomic within the processing transaction, so a delivery is processed once

Configuration

OptionWhat it extends
signing_keysThe keys the application signs with, the first the current one; the others sign beside it during a rotation
verification_keysThe keys deliveries are verified with
tolerance, audienceHow far a timestamp may be from the clock, and the receiver's name
connectionWhere processed ids are kept; null for a store of the application's own
allow_private_networks, allow_plain_httpWhether deliveries may go to private addresses and plain HTTP — for receivers the application itself trusts

Services

ServiceHow an application relies on it
A controller argument typed VerifiedWebhookThe delivery, verified before the controller runs — see Receiving
Phil\StandardWebhooksBundle\Infrastructure\Http\WebhookSenderSends a signed delivery over http_client; public — see Sending
Phil\StandardWebhooks\WebhookReceiverVerifies a delivery the application reads itself; public