Suscribirse a la cantidad mínima de eventos
Debe suscribirse únicamente a los eventos de webhook que necesite. Esto reducirá la cantidad de trabajo que su servidor debe realizar. Para obtener más información sobre cómo suscribirse a eventos, consulte Cómo configurar webhooks para la integración con Fluid Boards
Utilice un secreto de webhook
Debe configurar un secreto de webhook para su webhook y verificar que la firma de cada entrega de webhook coincida con el secreto. Esto ayuda a garantizar que la entrega de webhook provenga de Fluid. Para obtener más información, consulte Validación de webhooks
El secreto de webhook debe ser una cadena de texto aleatoria con alta entropía. Debe almacenar de forma segura su secreto de webhook de manera que su servidor pueda acceder a él.
Utilice HTTPS y verificación SSL
Debe asegurarse de que su servidor utilice una conexión HTTPS. De forma predeterminada, Fluid verificará los certificados SSL al entregar los webhooks. Fluid recomienda que deje habilitada la verificación SSL.
Permita las direcciones IP de Fluid
Puede configurar una lista de direcciones IP permitidas para su servidor y agregar las direcciones IP que Fluid utiliza para las entregas de webhook. Esto puede bloquear solicitudes falsificadas a su servidor. Comuníquese con su representante de éxito del cliente para obtener la lista de direcciones IP de Fluid para sus instancias específicas.
Responda en un plazo de 10 segundos
Su servidor debe responder con un código de respuesta HTTP 2XX dentro de los 10 segundos posteriores a la recepción de una entrega de webhook. Si su servidor tarda más de ese tiempo en responder, Fluid finaliza la conexión y considera que la entrega falló.
Para responder de manera oportuna, es posible que desee configurar una cola para procesar los payloads de webhook de forma asíncrona. Su servidor puede responder cuando recibe el webhook y luego procesar el payload en segundo plano sin bloquear futuras entregas de webhook. Por ejemplo, puede usar servicios como Hookdeck o bibliotecas como Resque (Ruby), RQ (Python) o RabbitMQ (Java).
Las entregas fallidas se reintentan aproximadamente cada hora hasta que el evento de webhook expire, lo cual ocurre dentro de las 24 horas, o hasta que se reciba una respuesta 2XX.
Verifique el tipo de evento y la acción antes de procesar el evento
Existen múltiples tipos de eventos de webhook, y muchos eventos pueden tener múltiples tipos de acción. Fluid continúa agregando nuevos tipos de eventos y nuevas acciones a los tipos de eventos existentes. Su aplicación debe verificar el tipo de evento y la acción de un payload de webhook antes de procesar el payload. Para determinar el tipo de entidad, puede usar el encabezado de solicitud X-Fluid-Entity. Para determinar el tipo de acción, puede usar el encabezado de solicitud X-Fluid-Event o la clave event de nivel superior en el payload del evento.
Utilice el encabezado X-Fluid-Delivery
En un ataque de repetición, un actor malicioso intercepta una entrega de webhook y la reenvía. Para protegerse contra ataques de repetición, puede usar el encabezado X-Fluid-Delivery para garantizar que cada entrega sea única.
En caso de reenvío, el valor del encabezado X-Fluid-Delivery será el mismo que el de la entrega original