Authentication and Security
Authentication
To ensure the security and integrity of webhook data flowing between Tulip and external systems, it is essential to authenticate and properly secure webhook requests. The following methods are supported for Tulip Webhooks:
No Auth
You can choose to not have authentication as a part of the webhook subscription. To create a webhook with no authentication, set the Authentication Method to NONE
. When this option is selected, no Authorization header will be set as a part of the event.
Bearer Token
Bearer authentication is an HTTP authentication scheme that uses security tokens commonly referred to as Bearer Tokens. To create a webhook subscription with bearer token authentication, set the Authentication Method property to BEARER
and provide the token
field.
Username and Password (Basic Authentication)
Basic authentication uses a username and password. To create a webhook subscription with basic authentication, set the Authentication Method to BASIC
and provide the username
and password
fields.
HMAC Security
đź’ˇ Tulip highly recommends that you implement HMAC verification on your systems for added safety.
On webhook events sent to external systems, Tulip will sign the webhook message using the secret key (generated automatically by Tulip) plus a hashing algorithm HMAC-SHA256
. The event will include the header x-tulip-hmac-256
with the hashed value of the message. Once you receive the request from Tulip, you can verify the authenticity and integrity of the message by encoding the webhook message using HMAC-SHA256
and ensuring that the signature matches the value sent in the x-tulip-hmac-256
header.
Benefits of HMAC Security:
- Since the secret key is known only to the webhook provider (Tulip) and the listener (external integrator), HMAC verifies that the message comes from the webhook provider (authenticity) and its contents have not being altered since time of sending (integrity).
- The HMAC Key will not be shared to anyone outside of the webhook provider (Tulip) or the listener (external integrator) and will never be sent as a part of the request.
Your unique HMAC key can be found in Tulip Admin Console under Webhook Subscription Page → Display HMAC Key.