Casos de uso real: Expandir o teu sistema de autenticação com webhooks
Descobre casos do mundo real de utilização de webhooks do Logto para autenticação e autorização, incluindo o envio de e-mails de boas-vindas, sincronização de dados com a tua base de dados, atualização de funções/permissões de utilizadores em tempo real e integração com análises de terceiros.
Com o webhook do Logto, podes receber atualizações em tempo real sobre eventos específicos, como registo de utilizador, início de sessão ou redefinição de senha, sem precisar verificar continuamente por 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 especificares. A tua aplicação pode receber a solicitação e tomar ações personalizadas com base nos dados, como enviar um e-mail ou atualizar uma base de dados.
Existem algumas capacidades que talvez não encontres diretamente no console do Logto, mas podes considerar se podes usar o webhook para monitorar o comportamento do teu utilizador para as alcançar.
Cenários de uso de webhooks do Logto
O webhook oferece possibilidades ilimitadas para sistemas de autenticação. Aqui estão alguns casos de uso do mundo real que darei como exemplos:
1. Enviar e-mail ou notificação
“Posso usar o Email do Logto para enviar aos utilizadores um e-mail de boas-vindas personalizado com um link de login? Usamos apenas login com código de verificação, sem senhas.”
Embora o serviço de e-mail do Logto não suporte atualmente e-mails de boas-vindas diretos, este é um cenário clássico para webhooks. Usa o evento User.Created
, e quando o teu endpoint receber as informações de registo do utilizador, envia imediatamente um e-mail de boas-vindas para o e-mail do utilizador.
Similarmente, notifica os utilizadores após atualizações de funções, informa os administradores sobre novos membros ou envia mensagens de bot para Slack ou Discord para manter a tua equipa atualizada.
2. Sincronização de dados
“Se eu eliminar um utilizador no console de admin, como sincronizo isso com outros sistemas?”
Usa o evento User.Deleted
para obter a alteração de estado do utilizador a ser eliminado e sincronizá-la com outros sistemas. Também podes limpar imediatamente a sessão de login do utilizador, o que será benéfico para a gestão de utilizadores em várias aplicações.
“Tenho várias apps sob o meu tenant do Logto. Preciso de um webhook para detetar a criação de utilizadores, garantindo que é tratado por uma app específica.”
Usa o evento PostRegister
, e o Payload conterá informações AppId
, o que te ajudará a lidar com o design de experiência personalizada de múltiplos serviços de apps.
3. Realizar chamadas de API adicionais
“Quando altero as permissões de um utilizador, ele tem que sair e voltar a entrar para a atualização entrar em vigor. Isto pode acontecer automaticamente?”
Se um administrador alterar uma função de utilizador ou adicionar novas permissões a um utilizador, por padrão, o utilizador precisa de iniciar sessão novamente ou consentir a atualização do token de acesso. Se quiseres que a alteração de autorização entre em vigor imediatamente, podes usar o webhook User.Data.Updated
para notificação, possibilitando assim re-consentimento ou emissão de novos tokens de acesso conforme necessário.
Além disso, podes também usar tempos de expiração de token de acesso curtos ou chamar endpoints Management API periodicamente para obter funções e permissões de utilizadores, mas só através de webhooks podes obter as atualizações mais oportunas.
“Quero adicionar cada novo utilizador à minha base de dados, enviá-lo para uma página ‘Configura a Tua Organização’ e permitir convites de organização apenas para utilizadores subsequentes. O Logto pode suportar isso?”
Primeiro, é necessária a sincronização de dados, usa o webhook Post.Register
para adicionar novo utilizador à tua base de dados. Em seguida, usa a API de gestão do Logto para conceber a tua página de convite e configuração de organização.
4. Análise de dados
“Posso conectar o Logto à minha ferramenta de análises (Google Analytics, Umami, Plausible, etc.) para rastrear logins de utilizadores?”
Se precisares de analisar dados relacionados a logins ou autorizações de utilizadores, podes usar a funcionalidade de webhook do Logto. Podes ouvir os webhooks enviados pelo Logto e então integrar os dados em ferramentas de análises de terceiros.
Confirma se precisas de webhooks
Passo 1: Confirma se existem eventos de Webhook de que precisas
Os webhooks são divididos em dois tipos, ao nível da conta e ao nível da organização, todos os eventos são mostrados abaixo:
Para facilitar os teus cenários de segmentação e obter dados correspondentes, é detalhado em pormenor. No entanto, se precisares de informações de múltiplos eventos ao mesmo tempo, podes selecionar múltiplos eventos para um Webhook.
Nota: Eventos do tipo “User Interaction” capturam ações de utilizadores dentro da UI, excluindo alterações iniciadas pelo administrador. Eventos do tipo “User” englobam todas as ações de utilizadores, incluindo aquelas por administradores e utilizadores finais. Por exemplo, o evento PostRegister
refere-se ao utilizador registar-se na experiência de Sign-in, enquanto User.Created
inclui todos os novos utilizadores registados pelo utilizador na interface UI e adicionados pelo administrador.
Passo 2: Confirma se o Payload da Solicitação tem as informações que precisas obter
Diferentes eventos transportam informações diferentes, podes confirmar se as informações existentes podem satisfazer diretamente as necessidades do teu caso de uso. Por exemplo, id
, username
, primary email
, profile
, customData
, identities
, lastSignInAt
, createdAt
, applicationId
, isSuspended
, OrganizationId
, OrganizationRoleId
, OrganizationScopeId
, etc. Para detalhes, consulta Webhook request. Se não, podes também usar a API de Gestão para continuar a obter informações relevantes do utilizador.
Passo 3: Combina com a Management API para expandir capacidades avançadas
Podes também usar a Logto Management API para implementar configurações adicionais de gestão e fun ção.
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 cabeçalho personalizado. E podes ver o painel de controle de webhooks do Logto para monitorar a transmissão de cada webhook nas últimas 24 horas.