본문으로 건너뛰기

Webhooks 요청

유효한 훅 이벤트가 발생하면, Logto는 해당하는 웹훅을 찾아 각 훅 구성에 따라 POST 요청을 보냅니다.

요청 헤더

KeyCustomizableNotes
user-agent기본값은 Logto (https://logto.io/)입니다.
content-type기본값은 application/json입니다.
logto-signature-sha-256요청 본문의 서명입니다. 웹훅 보안을 참조하세요.

동일한 키로 요청 헤더를 사용자 정의하여 사용자 정의 가능한 헤더를 덮어쓸 수 있습니다.

상호작용 훅 이벤트 요청 본문

사용 가능한 이벤트: PostRegister, PostSignIn, PostResetPassword

요청 본문은 세 가지 유형의 데이터 필드를 포함하는 JSON 객체입니다:

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;
};
FieldTypeOptionalNotes
hookIdstringLogto에서의 식별자입니다.
eventstring이 훅을 트리거하는 이벤트입니다.
createdAtstringISO 형식의 페이로드 생성 시간입니다.
interactionEventstring이 훅을 트리거하는 상호작용 이벤트입니다.
sessionIdstring이 이벤트에 대한 세션 ID (상호작용 ID 아님)입니다, 해당하는 경우.
userAgentstring이 훅을 트리거하는 요청의 사용자 에이전트입니다.
userIpstring이 훅을 트리거하는 요청의 IP 주소입니다.
userIdstring이 이벤트와 관련된 사용자 ID입니다, 해당하는 경우.
userUserEntity이 이벤트와 관련된 사용자 엔티티입니다, 해당하는 경우.
applicationIdstring이 이벤트와 관련된 애플리케이션 ID입니다, 해당하는 경우.
applicationApplicationEntity이 이벤트와 관련된 애플리케이션 정보입니다, 해당하는 경우.

자세한 필드 설명은 사용자애플리케이션 참조를 확인하세요.

데이터 변이 훅 이벤트 요청 본문

표준 요청 본문 필드

FieldTypeOptionalNotes
hookIdstringLogto에서의 식별자입니다.
eventstring이 훅을 트리거하는 이벤트입니다.
createdAtstringISO 형식의 페이로드 생성 시간입니다.
userAgentstring요청의 사용자 에이전트입니다.
ipstring요청의 IP 주소입니다.

상호작용 API 컨텍스트 본문 필드

사용자 상호작용 API 호출에 의해 트리거되는 데이터 변이 훅 이벤트입니다.

사용 가능한 이벤트: User.Created, User.Data.Updated

FieldTypeOptionalNotes
interactionEventstring이 훅을 트리거하는 상호작용 이벤트입니다.
sessionIdstring이 이벤트에 대한 세션 ID (상호작용 ID 아님)입니다, 해당하는 경우.
applicationIdstring이 이벤트와 관련된 애플리케이션 ID입니다, 해당하는 경우.
applicationApplicationEntity이 이벤트와 관련된 애플리케이션 정보입니다, 해당하는 경우.

Management API 컨텍스트 본문 필드

Management API 호출에 의해 트리거되는 데이터 변이 훅 이벤트입니다.

FieldTypeOptionalNotes
pathstring이 훅을 트리거하는 API 호출의 경로입니다.
methodstring이 훅을 트리거하는 API 호출의 메서드입니다.
statusnumber이 훅을 트리거하는 API 호출의 응답 상태 코드입니다.
paramsobject이 훅을 트리거하는 API 호출의 요청 koa 경로 매개변수입니다.
matchedRoutestring이 훅을 트리거하는 API 호출의 koa 매칭된 경로입니다. Logto는 이 필드를 사용하여 활성화된 훅 이벤트를 매칭합니다.

데이터 페이로드 본문 필드

사용자 이벤트

EventFieldTypeOptionalNotes
User.CreateddataUserEntity이 이벤트에 대한 생성된 사용자 엔티티입니다.
User.Data.UpdateddataUserEntity이 이벤트에 대한 업데이트된 사용자 엔티티입니다.
User.Deleteddatanull/

역할 이벤트

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;
};
EventFieldTypeOptionalNotes
Role.CreateddataRole이 이벤트에 대한 생성된 역할 엔티티입니다.
Role.Data.UpdateddataRole이 이벤트에 대한 업데이트된 역할 엔티티입니다.
Role.Deleteddatanull
Role.Scope.UpdateddataScope[]역할에 할당된 업데이트된 스코프입니다.
Role.Scope.UpdatedroleIdstring스코프가 할당된 역할 ID입니다. (사전 할당된 스코프로 새 역할을 생성할 때 이벤트가 트리거된 경우에만 사용 가능)

권한 (스코프) 이벤트

EventFieldTypeOptionalNotes
Scope.CreateddataScope이 이벤트에 대한 생성된 스코프 엔티티입니다.
Scope.Data.UpdateddataScope이 이벤트에 대한 업데이트된 스코프 엔티티입니다.
Scope.Deleteddatanull/

조직 이벤트

type Organization = {
id: string;
name: string;
description?: string;
customData: object;
createdAt: number;
};
EventFieldTypeOptionalNotes
Organization.CreateddataOrganization이 이벤트에 대한 생성된 조직 엔티티입니다.
Organization.Data.UpdateddataOrganization이 이벤트에 대한 업데이트된 조직 엔티티입니다.
Organization.Deleteddatanull/
Organization.Membership.Updateddatanull/

조직 역할 이벤트

type OrganizationRole = {
id: string;
name: string;
description?: string;
};
type OrganizationScope = {
id: string;
name: string;
description?: string;
};
EventFieldTypeOptionalNotes
OrganizationRole.CreateddataOrganizationRole이 이벤트에 대한 생성된 조직 역할 엔티티입니다.
OrganizationRole.Data.UpdateddataOrganizationRole이 이벤트에 대한 업데이트된 조직 역할 엔티티입니다.
OrganizationRole.Deleteddatanull/
OrganizationRole.Scope.Updateddatanull/
OrganizationRole.Scope.UpdatedorganizationRoleIdstring스코프가 할당된 역할 ID입니다. (사전 할당된 스코프로 새 역할을 생성할 때 이벤트가 트리거된 경우에만 사용 가능)

조직 권한 (조직 스코프) 이벤트

EventFieldTypeOptionalNotes
OrganizationScope.CreateddataOrganizationScope생성된 조직 스코프 엔티티입니다.
OrganizationScope.Data.UpdateddataOrganizationScope업데이트된 조직 스코프 엔티티입니다.
OrganizationScope.Deleteddatanull/