Solicitação de Webhooks
Uma vez que um evento de hook válido é emitido, o Logto encontrará os webhooks correspondentes e enviará uma solicitação POST por configuração de hook.
Cabeçalhos da solicitação
Chave | Personalizável | Notas |
---|---|---|
user-agent | ✅ | Logto (https://logto.io/) por padrão. |
content-type | ✅ | application/json por padrão. |
logto-signature-sha-256 | a assinatura do corpo da solicitação, consulte securing your webhooks. |
Você pode sobrescrever cabeçalhos personalizáveis customizando cabeçalhos de solicitação com a mesma chave.
Corpo da solicitação de eventos de hook de interação
Eventos disponíveis: PostRegister
, PostSignIn
, PostResetPassword
O corpo da solicitação é um objeto JSON que contém três tipos de campo de dados:
type UserEntity = {
id: string;
username?: string;
primaryEmail?: string;
primaryPhone?: string;
name?: string;
avatar?: string;
customData?: object;
identities?: object;
lastSignInAt?: string;
createdAt?: string;
applicationId?: string;
isSuspended?: boolean;
};
type ApplicationEntity = {
id: string;
name: string;
description?: string;
};
Campo | Tipo | Opcional | Notas |
---|---|---|---|
hookId | string | O identificador no Logto. | |
event | string | Qual evento aciona este hook. | |
createdAt | string | O tempo de criação do payload em formato ISO. | |
interactionEvent | string | O evento de interação que aciona este hook. | |
sessionId | string | ✅ | O ID da Sessão (não o ID de Interação) para este evento, se aplicável. |
userAgent | string | ✅ | O user-agent para a solicitação que aciona este hook. |
userIp | string | ✅ | O endereço IP para a solicitação que aciona este hook. |
userId | string | ✅ | O ID do Usuário relacionado para este evento, se aplicável. |
user | UserEntity | ✅ | A entidade de usuário relacionada para este evento, se aplicável. |
applicationId | string | ✅ | O ID do Aplicativo relacionado para este evento, se aplicável. |
application | ApplicationEntity | ✅ | As informações do aplicativo relacionadas para este evento, se aplicável. |
Consulte as referências de Usuários e Aplicativos para explicações detalhadas dos campos.
Corpo da solicitação de eventos de mutação de dados
Campos padrão do corpo da solicitação
Campo | Tipo | Opcional | Notas |
---|---|---|---|
hookId | string | O identificador no Logto. | |
event | string | Qual evento aciona este hook. | |
createdAt | string | O tempo de criação do payload em formato ISO. | |
userAgent | string | ✅ | O user-agent para a solicitação. |
ip | string | ✅ | O endereço IP para a solicitação. |
Campos do corpo do contexto da API de interação
Eventos de mutação de dados que são acionados por chamadas de API de interação do usuário.
Eventos disponíveis: User.Created
, User.Data.Updated
Campo | Tipo | Opcional | Notas |
---|---|---|---|
interactionEvent | string | ✅ | O evento de interação que aciona este hook. |
sessionId | string | ✅ | O ID da Sessão (não o ID de Interação) para este evento, se aplicável. |
applicationId | string | ✅ | O ID do Aplicativo relacionado para este evento, se aplicável. |
application | ApplicationEntity | ✅ | As informações do aplicativo relacionadas para este evento, se aplicável. |
Campos do corpo do contexto da Management API
Eventos de mutação de dados que são acionados por chamadas da Management API.
Campo | Tipo | Opcional | Notas |
---|---|---|---|
path | string | ✅ | O caminho da chamada de API que aciona este hook. |
method | string | ✅ | O método da chamada de API que aciona este hook. |
status | number | ✅ | O código de status da resposta da chamada de API que aciona este hook. |
params | object | ✅ | Os parâmetros de caminho koa da solicitação da chamada de API que aciona este hook. |
matchedRoute | string | ✅ | A rota koa correspondente da chamada de API que aciona este hook. O Logto usa este campo para corresponder aos eventos de hook habilitados. |
Campos do corpo do payload de dados
Eventos de Usuário
Evento | Campo | Tipo | Opcional | Notas |
---|---|---|---|---|
User.Created | data | UserEntity | A entidade de usuário criada para este evento. | |
User.Data.Updated | data | UserEntity | A entidade de usuário atualizada para este evento. | |
User.Deleted | data | null | / |
Eventos de Papel (Role)
type Role = {
id: string;
name: string;
description: string;
type: 'User' | 'MachineToMachine';
isDefault: boolean;
};
type Scope = {
id: string;
name: string;
description: string;
resourceId: string;
createdAt: number;
};
Evento | Campo | Tipo | Opcional | Notas |
---|---|---|---|---|
Role.Created | data | Role | A entidade de papel criada para este evento. | |
Role.Data.Updated | data | Role | A entidade de papel atualizada para este evento. | |
Role.Deleted | data | null | ||
Role.Scope.Updated | data | Scope[] | Os escopos atualizados atribuídos ao papel. | |
Role.Scope.Updated | roleId | string | ✅ | O ID do papel ao qual os escopos são atribuídos. (Disponível apenas quando o evento foi acionado pela criação de novo papel com escopos pré-atribuídos) |
Eventos de Permissão (Scope)
Evento | Campo | Tipo | Opcional | Notas |
---|---|---|---|---|
Scope.Created | data | Scope | A entidade de escopo criada para este evento. | |
Scope.Data.Updated | data | Scope | A entidade de escopo atualizada para este evento. | |
Scope.Deleted | data | null | / |
Eventos de Organização (Organization)
type Organization = {
id: string;
name: string;
description?: string;
customData: object;
createdAt: number;
};
Evento | Campo | Tipo | Opcional | Notas |
---|---|---|---|---|
Organization.Created | data | Organization | A entidade de organização criada para este evento. | |
Organization.Data.Updated | data | Organization | A entidade de organização atualizada para este evento. | |
Organization.Deleted | data | null | / | |
Organization.Membership.Updated | data | null | / |
Eventos de Papel da Organização (OrganizationRole)
type OrganizationRole = {
id: string;
name: string;
description?: string;
};
type OrganizationScope = {
id: string;
name: string;
description?: string;
};
Evento | Campo | Tipo | Opcional | Notas |
---|---|---|---|---|
OrganizationRole.Created | data | OrganizationRole | A entidade de papel da organização criada para este evento. | |
OrganizationRole.Data.Updated | data | OrganizationRole | A entidade de papel da organização atualizada para este evento. | |
OrganizationRole.Deleted | data | null | / | |
OrganizationRole.Scope.Updated | data | null | / | |
OrganizationRole.Scope.Updated | organizationRoleId | string | ✅ | O ID do papel ao qual os escopos são atribuídos. (Disponível apenas quando o evento foi acionado pela criação de novo papel com escopos pré-atribuídos) |
Eventos de Permissão da Organização (OrganizationScope)
Evento | Campo | Tipo | Opcional | Notas |
---|---|---|---|---|
OrganizationScope.Created | data | OrganizationScope | A entidade de escopo da organização criada. | |
OrganizationScope.Data.Updated | data | OrganizationScope | A entidade de escopo da organização atualizada. | |
OrganizationScope.Deleted | data | null | / |