Assine o número mínimo de eventos
Você deve assinar apenas os eventos de webhook de que precisa. Isso reduzirá a quantidade de trabalho que seu servidor precisa fazer. Para mais informações sobre como assinar eventos, consulte Como configurar a integração de Webhooks com o Fluid Boards
Use um segredo de webhook
Você deve definir um segredo de webhook para o seu webhook e verificar se a assinatura de cada entrega de webhook corresponde ao segredo. Isso ajuda a garantir que a entrega do webhook seja proveniente do Fluid. Para mais informações, consulte Validando Webhooks
O segredo do webhook deve ser uma string de texto aleatória com alta entropia. Você deve armazenar seu segredo de webhook de forma segura, de modo que seu servidor possa acessá-lo.
Use HTTPS e verificação SSL
Você deve garantir que seu servidor use uma conexão HTTPS. Por padrão, o Fluid verificará certificados SSL ao entregar webhooks. O Fluid recomenda que você mantenha a verificação SSL habilitada.
Permita os endereços IP do Fluid
Você pode configurar uma lista de permissões de IP para o seu servidor e adicionar os endereços IP que o Fluid usa para entregas de webhooks. Isso pode bloquear solicitações falsificadas para o seu servidor. Entre em contato com seu representante de sucesso do cliente para obter a lista de IPs do Fluid para suas instâncias específicas.
Responda dentro de 10 segundos
Seu servidor deve responder com um código de resposta HTTP 2XX dentro de 10 segundos após receber uma entrega de webhook. Se o seu servidor demorar mais do que isso para responder, o Fluid encerrará a conexão e considerará a entrega como falha.
Para responder em tempo hábil, você pode querer configurar uma fila para processar payloads de webhook de forma assíncrona. Seu servidor pode responder quando receber o webhook e, em seguida, processar o payload em segundo plano sem bloquear futuras entregas de webhook. Por exemplo, você pode usar serviços como Hookdeck ou bibliotecas como Resque (Ruby), RQ (Python) ou RabbitMQ (Java).
As entregas com falha são repetidas a cada hora (aproximadamente) até que o próprio evento de webhook expire, o que ocorre dentro de 24 horas, ou até que uma resposta 2XX seja recebida.
Verifique o tipo de evento e a ação antes de processar o evento
Existem vários tipos de eventos de webhook, e muitos eventos podem ter vários tipos de ação. O Fluid continua adicionando novos tipos de eventos e novas ações aos tipos de eventos existentes. Sua aplicação deve verificar o tipo de evento e a ação de um payload de webhook antes de processar o payload. Para determinar o tipo de entidade, você pode usar o cabeçalho de solicitação X-Fluid-Entity. Para determinar o tipo de ação, você pode usar o cabeçalho de solicitação X-Fluid-Event ou a chave de evento de nível superior no payload do evento.
Use o cabeçalho X-Fluid-Delivery
Em um ataque de replay, um agente malicioso intercepta uma entrega de webhook e reenvia a entrega. Para se proteger contra ataques de replay, você pode usar o cabeçalho X-Fluid-Delivery para garantir que cada entrega seja única.
No caso de uma reentrega, o valor do cabeçalho X-Fluid-Delivery será o mesmo que o da entrega original