Pular para o conteúdo principal

Webhooks

O Webhook do Logto fornece notificações em tempo real para vários eventos, incluindo alterações em contas de usuários, papéis, permissões, organizações, papéis de organização, permissões de organização e interações do usuário.

Quando um evento é acionado, o Logto envia uma solicitação HTTP para a URL do Endpoint que você fornecer, contendo informações detalhadas sobre o evento, como ID do usuário, nome de usuário, email e outros detalhes relevantes (para saber mais sobre os dados incluídos no payload e no header, consulte Solicitação de Webhook). Seu aplicativo pode processar essa solicitação e tomar ações personalizadas, como enviar um email ou atualizar dados no banco de dados.

Continuamos adicionando mais eventos com base nas necessidades dos usuários. Se você tiver requisitos específicos para o seu negócio, por favor, nos avise.

Por que usar Webhook?

Webhooks oferecem comunicação em tempo real entre aplicativos, eliminando a necessidade de polling e permitindo atualizações imediatas de dados. Eles simplificam a integração de aplicativos e a automação de fluxos de trabalho sem código complexo ou APIs proprietárias.

Aqui estão alguns exemplos de casos de uso comuns de Webhook para CIAM:

  • Enviar emails: Configure um Webhook para enviar um email de boas-vindas a novos usuários após o registro ou notificar administradores quando um usuário fizer login de um novo dispositivo ou local.
  • Enviar notificações: Configure um Webhook para acionar um assistente virtual com seu sistema CRM para fornecer suporte ao cliente em tempo real quando os usuários se cadastrarem.
  • Realizar chamadas adicionais de API: Configure um Webhook para verificar o acesso do usuário checando seu domínio de email ou endereço IP e, em seguida, use a Management API do Logto para atribuir papéis apropriados com permissões de recursos.
  • Sincronização de dados: Configure Webhook para manter o aplicativo atualizado sobre alterações como suspensões ou exclusões de contas de usuários.
  • Gerar relatórios: Configure um Webhook para receber dados de atividade de login de usuários e aproveite-os para criar relatórios sobre engajamento ou padrões de uso dos usuários.

Termos

ItemDescrição
EventQuando uma ação específica é realizada, ela aciona um evento de hook com um tipo específico. Ex.: o Logto emitirá um evento de hook PostRegister quando o usuário concluir o processo de cadastro e criar uma nova conta.
HookUma ou uma série de ações que se conectam a um evento específico. A ação pode ser chamar uma API, executar trechos de código, etc.
WebhookUm subtipo de hook que indica a chamada de uma API com o payload do evento.
Digamos que um desenvolvedor queira enviar uma notificação quando o usuário fizer login por um novo dispositivo, o desenvolvedor pode adicionar um webhook que chama a API do seu serviço de segurança para o evento PostSignIn.

Aqui está um exemplo de habilitação de dois web hooks para o evento PostSignIn no Logto:

Perguntas frequentes

O Logto suporta webhooks sincronizados?

Embora webhooks sincronizados tornassem o fluxo de login do usuário mais suave, ainda não os suportamos (iremos suportar no futuro). Portanto, cenários que dependem de webhooks sincronizados atualmente exigem diferentes soluções alternativas. Se você tiver dúvidas, não hesite em nos contatar.

Como lidar com alteração de permissão de usuário?

Como depurar timeout de webhook?

Para o endpoint que recebe Webhooks, ele deve retornar uma resposta 2xx o mais rápido possível para informar ao Logto que o Webhook foi recebido com sucesso. Como diferentes usuários têm lógicas de processamento muito distintas para Webhooks, tarefas excessivamente complexas podem levar vários segundos, causando timeout no Webhook do Logto. A melhor prática é manter sua própria fila de eventos; ao receber o Webhook do Logto, insira o evento na fila e retorne uma resposta 2xx ao Logto. Depois, deixe seu próprio worker processar as tarefas da fila passo a passo. Se o worker encontrar um erro, trate-o em seu próprio servidor.

Posso obter o endereço IP do cliente a partir dos webhooks PostSignIn?

Sim, você pode obter endereço IP, user agents, etc. no payload do Webhook. Se precisar de informações que ainda não são suportadas, você pode criar solicitações de recurso no GitHub issues ou entrar em contato conosco.

Webhooks vs. polling