Configurar webhooks
Configure webhooks no Logto Console para alcançar integração perfeita e receber notificações de eventos em tempo real para sua aplicação. Aproveite a configuração fácil, segurança aprimorada e opções convenientes de monitoramento de saúde.
Criar um webhook
Primeiramente, crie um endpoint de webhook que será chamado pelo Logto Agent. Este endpoint deve ser implementado em seu servidor e capaz de receber requisições HTTP.
Para criar um novo webhook no Logto Console, siga estes passos:
-
Criar webhook: Navegue até Console > Webhooks e clique no botão "Criar webhook".
-
Nome: Forneça um nome para o webhook. Ele serve para sua própria referência para definir o cenário de uso.
-
Endpoint URL: Insira a
Endpoint URL, que é a URL do seu servidor que receberá as requisições POST do webhook quando o evento ocorrer. Por motivos de segurança, a URL deve ser acessível publicamente via HTTPS e não deve ser uma URL de localhost.nota:Seu servidor deve responder às requisições de webhook do Logto com uma resposta HTTP 200 ("OK") imediatamente após receber a solicitação para notificar que a requisição foi recebida.
Aguardar o processamento da lógica do evento correspondente do Webhook antes de responder pode causar timeout no Webhook.
Não retorne nenhuma resposta diferente de 200 para o webhook do Logto. Se ocorrer um erro ao processar o evento, trate-o em seu próprio servidor.
-
Evento: Na janela modal que aparece, selecione os eventos desejados que irão acionar este webhook. Recomenda-se escolher um número menor de eventos que atendam aos seus requisitos para evitar sobrecarregar a recepção do servidor. Você pode alterar os eventos selecionados a qualquer momento após criar o webhook.
-
Desativar / Reativar: Por padrão, o webhook é ativado imediatamente após a criação. Se desejar suspender temporariamente o webhook, você pode desativá-lo ou reativá-lo usando o menu de "Três Pontos" localizado no canto superior direito do cabeçalho após a criação.
Proteger webhook
Quando seu servidor estiver pronto para receber requisições de webhook, você pode querer garantir que ele possa lidar com as solicitações de forma segura. O Logto gera uma assinatura para cada payload de requisição de webhook, o que permite verificar se a solicitação vem do Logto.
Após criar um novo webhook, você tem opções para aprimorar sua segurança:
- Chave de assinatura (Signing key): O Logto gera uma assinatura hash única, conhecida como Chave de Assinatura, para cada webhook. Você pode incluir essa chave como um cabeçalho de requisição na implementação do seu endpoint. Verificar a chave de assinatura garante que o payload do webhook se origina do Logto e não foi adulterado por fontes não autorizadas. Leia protegendo seus webhooks para saber mais sobre o código.
- Cabeçalho personalizado (Custom header): Você tem a opção de incluir cabeçalhos personalizados no payload do webhook para fornecer contexto ou metadados adicionais. Este recurso permite adicionar informações relevantes que podem ajudar no processamento eficaz dos dados do webhook.
Ao utilizar a Chave de Assinatura e considerar a inclusão de Cabeçalhos Personalizados, você pode aumentar a segurança dos seus webhooks e garantir a integridade e autenticidade dos payloads recebidos.
Testar webhook
Para testar a conexão entre o Logto e seus serviços, basta clicar no botão "Enviar payload de teste". O Logto enviará então um payload de exemplo para cada evento selecionado para sua Endpoint URL. Essas requisições de teste contêm dados anônimos e não são registradas no histórico de requisições recentes.
Este teste garante que seu webhook está devidamente configurado para receber e processar payloads do Logto. Ele permite validar a integração antes de implantar o webhook em um ambiente de produção.
Monitorar status de saúde do Webhook
O Logto fornece ferramentas convenientes para monitorar o status de saúde dos seus webhooks e investigar quaisquer possíveis problemas em detalhes:
- Status de saúde A lista de webhooks no Logto exibe o status de saúde de cada webhook, incluindo a taxa de sucesso e o número total de requisições feitas nas últimas 24 horas. Essas informações fornecem uma visão geral do desempenho do webhook.
- Logs de requisições independentes Na seção "Requisições Recentes" de cada webhook, você pode acessar os logs de requisições das últimas 24 horas. Cada requisição é registrada individualmente, permitindo visualizar os detalhes de cada solicitação e investigar possíveis erros ou anomalias.
- Re-tentativa automática (Auto-retry)
Em caso de falha na entrega (quando o status de resposta do webhook for maior ou igual a 500), o Logto tenta automaticamente a entrega até três vezes. Fique tranquilo que múltiplas tentativas da mesma requisição gerarão apenas uma entrada de log, evitando duplicação desnecessária. Todas as re-tentativas de uma requisição carregam o mesmo
deliveryIdno payload, assim seu endpoint pode ignorar uma entrega que já foi processada.
Aproveitando esses recursos de monitoramento, você pode acompanhar efetivamente a saúde dos seus webhooks, examinar logs de requisições e garantir a confiabilidade e o desempenho das suas integrações de webhook.