Secure webooks
Implement security best practices to protect your webhook endpoints
Secure your webhook endpoints to ensure that incoming requests genuinely originate from IDnow and have not been tampered with.
Security headers
When configuring your webhook endpoint in the IDnow dashboard, you can define custom HTTP headers that are sent with every webhook request. IDnow automatically includes these headers in each call. No schema validation is performed.
Steps:
- Configure headers: Define the desired headers (e.g. API key or shared secret) in the webhook configuration.
- Verify headers: Check that the header values received in the webhook request match the expected ones.
Example patterns:
- Static token (API Key / Shared Secret): X-Auth-Token: 5eaf37d12c9b4c0987a6f9e1a4f823bf
- Basic Authentication: Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=
JWT signature
All webhook payloads are delivered as a JSON Web Token (JWT). The JWT is sent as the HTTP request body with Content-Type: application/jwt. You can optionally verify the JWT signature to ensure the authenticity and integrity of the webhook. See Webhook events for details on decoding the payload.
JWKS endpoint
For sandbox, IDnow exposes its public keys at:
https://auth.eu.platform.idnow.sx/oidc/.well-known/jwks.json
For production, IDnow exposes its public keys at:
https://auth.eu.platform.idnow.io/oidc/.well-known/jwks.json
The JWKS URL is also advertised via the OpenID configuration:
https://auth.eu.platform.idnow.sx/oidc/.well-known/openid-configuration
Validation Steps
- Extract
kidfrom the JWT header. - Fetch JWKS from the endpoint above.
- Select the matching public key using the
kid. - Verify the signature.
- Validate claims:
exp– token not expirediss– issuer matches IDnowaud– token intended for your application
Once the signature and claims are valid, you can safely trust the webhook payload.
IP allowlisting
Restrict your webhook endpoint to only accept requests from IDnow IP addresses.
IDnow maintains a limited and stable list of IP addresses for webhook delivery.
IP ranges:
Add the IP ranges provided by account managers to your firewall or application allow list.
Contact your account manager for the current production IP ranges.
TLS requirements
Your webhook endpoint must support TLS 1.2 or higher. IDnow validates your endpoint's TLS configuration during setup.
Supported TLS versions:
- TLS 1.2: Supported and recommended
- TLS 1.3: Supported and recommended