Casos reais de uso: Expandindo seu sistema de autenticação com webhooks
Descubra casos reais de uso de webhooks Logto para autenticação e autorização, incluindo o envio de e-mails de boas-vindas, sincronização de dados com seu banco de dados, atualização de funções/permissões de usuários em tempo real e integração com análises de terceiros.
Com o webhook Logto, você pode receber atualizações em tempo real sobre eventos específicos, como registro de usuário, login ou redefinição de senha, sem precisar verificar continuamente as atualizações. Quando um evento é acionado, o Logto envia uma solicitação HTTP contendo informações sobre o evento para um URL de endpoint que você especificar. Sua aplicação pode receber a solicitação e tomar uma ação personalizada com base nos dados, como enviar um e-mail ou atualizar um banco de dados.
Existem algumas capacidades que você pode não encontrar diretamente no console do Logto, mas você pode considerar se pode usar o webhook para monitorar o comportamento do usuário para alcançá-las.
Cenários de uso de webhooks Logto
Webhook oferece possibilidades ilimitadas para sistemas de autenticação. Aqui estão alguns casos reais de uso que vou dar como exemplos:
1. Enviar e-mail ou notificação
“Posso usar o Logto Email para enviar aos usuários um E-mail de Boas-vindas personalizado com um link de login? Usamos somente login por Código de Verificação, sem senhas.”
Embora o serviço de email do Logto não suporte atualmente e-mails de boas-vindas diretos, este é um cenário clássico para webhooks. Use o evento User.Created
e, quando seu Endpoint receber as informações de registro do usuário, envie imediatamente um e-mail de boas-vindas para o e-mail do usuário.
Da mesma forma, notifique os usuários após atualizações de função, informe os administradores sobre novos membros ou envie mensagens de bot para Slack ou Discord para manter sua equipe atualizada.
2. Sincronização de dados
“Se eu excluir um usuário no console de administração, como sincronizo isso com outros sistemas?”
Use o evento User.Deleted
para obter a alteração de status do usuário sendo excluído e sincronize-o com outros sistemas. Você também pode limpar imediatamente a sessão de login do usuário, o que será benéfico para o gerenciamento de usuários entre aplicativos.
“Tenho vários aplicativos sob meu locatário Logto. Preciso de um webhook para detectar a criação de usuário, garantindo que seja tratada por um aplicativo específico.”
Use o evento PostRegister
e o Payload conterá informações do AppId
, o que ajudará você a lidar com o design de experiência personalizada de vários serviços de aplicativo.
3. Realizar chamadas adicionais de API
“Quando altero as permissões de um usuário, ele precisa se desconectar e voltar a entrar para que a atualização tenha efeito. Isso pode ocorrer automaticamente?”
Se um administrador altera a função de um usuário ou adiciona novas permissões a um usuário, por padrão, o usuário precisa fazer login novamente ou consentir para atualizar o token de acesso. Se você deseja que a alteração de autorização tenha efeito imediato, pode usar o webhook User.Data.Updated
para notificação, permitindo reconciliação ou emissão de novos tokens de acesso conforme necessário.
Além disso, você também pode usar tempos de expiração curtos de tokens de acesso ou chamar periodicamente endpoints da Management API para obter funções e permissões de usuário, mas apenas por meio de webhooks é possível obter as atualizações mais oportunas.
“Quero adicionar cada novo usuário ao meu banco de dados, enviá-los para uma página ‘Configurar sua Organização’ e permitir apenas convites para organização para usuários subsequentes. O Logto pode suportar isso?”
Primeiro, é necessária a sincronização de dados, para usar o webhook Post.Register
para adicionar o novo usuário ao seu banco de dados. Em seguida, use a API de gerenciamento do Logto para projetar sua página de solicitação para configuração de organização e convite.
4. Análise de dados
“Posso conectar o Logto à minha ferramenta de análise (Google Analytics, Umami, Plausible, etc.) para rastrear logins de usuários?”
Se você precisar analisar dados relacionados a logins de usuário ou autorizações, pode usar a funcionalidade de webhook do Logto. Você pode escutar webhooks enviados pelo Logto e então integrar os dados em ferramentas de análise de terceiros.
Confirme se você precisa de webhooks
Etapa 1: Confirme se há eventos de Webhook que você precisa
O webhook está dividido em dois níveis, conta e organização, todos os eventos são mostrados abaixo:
Para facilitar seus cenários de segmentação e obter dados correspondentes, está dividido em detalhes. No entanto, se você precisar de informações de vários eventos ao mesmo tempo, poderá selecionar vários eventos para um Webhook.
Nota: Eventos do tipo “Interação do Usuário” capturam ações de usuário dentro da interface do usuário, excluindo mudanças iniciadas pelo administrador. Eventos do tipo “Usuário” abrangem todas as ações de usuário, incluindo aquelas por administradores e usuários finais. Por exemplo, o evento PostRegister
refere-se ao registro do usuário na experiência de login, enquanto User.Created
inclui todos os novos usuários registrados pelo usuário na interface de usuário e adicionados pelo administrador.
Etapa 2: Confirmar se o payload da solicitação possui as informações que você precisa obter
Diferentes eventos carregam informações diferentes, você pode confirmar se as informações existentes podem atender diretamente suas necessidades de caso de uso. Por exemplo, id
, username
, primary email
, profile
, customData
, identities
, lastSignInAt
, createdAt
, applicationId
, isSuspended
, OrganizationId
, OrganizationRoleId
, OrganizationScopeId
, etc. Para detalhes, consulte Webhook request. Se não, você também pode usar a Management API para continuar a obter informações relevantes do usuário.
Etapa 3: Combine com Management API para expandir capacidades avançadas
Você também pode usar Logto Management API para implementar mais gestão e configuração de funções.
Conclusão
Os eventos de webhook do Logto não só cobrem uma ampla gama de cenários, mas também garantem transmissão segura através da verificação da chave de assinatura e do cabeçalho personalizado. E você pode visualizar o painel de webhook do Logto para monitorar a transmissão de cada webhook nas últimas 24 horas.