メインコンテンツまでスキップ

Webhooks リクエスト

有効なフックイベントが発生すると、Logto は対応する Webhook を見つけ、フック設定ごとに POST リクエストを送信します。

リクエストヘッダー​

Keyカスタマイズ可能備考
user-agent✅デフォルトでは Logto (https://logto.io/)。
content-type✅デフォルトでは application/json。
logto-signature-sha-256リクエストボディの署名、Webhook のセキュリティ保護を参照してください。

カスタマイズ可能なヘッダーは、同じキーで リクエストヘッダーをカスタマイズ することで上書きできます。

インタラクションフックイベントのリクエストボディ​

利用可能なイベント:PostRegister、PostSignIn、PostResetPassword

リクエストボディは、3 種類のデータフィールドを含む 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;
};
フィールドタイプオプション備考
hookIdstringLogto 内の識別子。
eventstringこのフックをトリガーするイベント。
createdAtstringISO 形式でのペイロードの作成時間。
interactionEventstringこのフックをトリガーするインタラクションイベント。
sessionIdstring✅このイベントのセッション ID(インタラクション ID ではありません)、該当する場合。
userAgentstring✅このフックをトリガーするリクエストのユーザーエージェント。
userIpstring✅このフックをトリガーするリクエストの IP アドレス。
userIdstring✅このイベントに関連するユーザー ID、該当する場合。
userUserEntity✅このイベントに関連するユーザーエンティティ、該当する場合。
applicationIdstring✅このイベントに関連するアプリケーション ID、該当する場合。
applicationApplicationEntity✅このイベントに関連するアプリケーション情報、該当する場合。

詳細なフィールドの説明については、ユーザー および アプリケーション のリファレンスを参照してください。

データ変更フックイベントのリクエストボディ​

標準リクエストボディフィールド​

フィールドタイプオプション備考
hookIdstringLogto 内の識別子。
eventstringこのフックをトリガーするイベント。
createdAtstringISO 形式でのペイロードの作成時間。
userAgentstring✅リクエストのユーザーエージェント。
ipstring✅リクエストの IP アドレス。

インタラクション API コンテキストボディフィールド​

ユーザーインタラクション API 呼び出しによってトリガーされるデータ変更フックイベント。

利用可能なイベント:User.Created、User.Data.Updated

フィールドタイプオプション備考
interactionEventstring✅このフックをトリガーするインタラクションイベント。
sessionIdstring✅このイベントのセッション ID(インタラクション ID ではありません)、該当する場合。
applicationIdstring✅このイベントに関連するアプリケーション ID、該当する場合。
applicationApplicationEntity✅このイベントに関連するアプリケーション情報、該当する場合。

Management API コンテキストボディフィールド​

Management API 呼び出しによってトリガーされるデータ変更フックイベント。

フィールドタイプオプション備考
pathstring✅このフックをトリガーする API 呼び出しのパス。
methodstring✅このフックをトリガーする API 呼び出しのメソッド。
statusnumber✅このフックをトリガーする API 呼び出しのレスポンスステータスコード。
paramsobject✅このフックをトリガーする API 呼び出しのリクエスト koa パスパラメータ。
matchedRoutestring✅このフックをトリガーする API 呼び出しの koa マッチしたルート。Logto はこのフィールドを使用して有効なフックイベントをマッチします。

データペイロードボディフィールド​

ユーザーイベント

イベントフィールドタイプオプション備考
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;
};
イベントフィールドタイプオプション備考
Role.CreateddataRoleこのイベントの作成されたロールエンティティ。
Role.Data.UpdateddataRoleこのイベントの更新されたロールエンティティ。
Role.Deleteddatanull
Role.Scope.UpdateddataScope[]ロールに割り当てられた更新されたスコープ。
Role.Scope.UpdatedroleIdstring✅スコープが割り当てられたロール ID。(事前に割り当てられたスコープで新しいロールを作成することによってイベントがトリガーされた場合のみ利用可能)

権限 (スコープ) イベント

イベントフィールドタイプオプション備考
Scope.CreateddataScopeこのイベントの作成されたスコープエンティティ。
Scope.Data.UpdateddataScopeこのイベントの更新されたスコープエンティティ。
Scope.Deleteddatanull/

組織イベント

type Organization = {
id: string;
name: string;
description?: string;
customData: object;
createdAt: number;
};
イベントフィールドタイプオプション備考
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;
};
イベントフィールドタイプオプション備考
OrganizationRole.CreateddataOrganizationRoleこのイベントの作成された組織ロールエンティティ。
OrganizationRole.Data.UpdateddataOrganizationRoleこのイベントの更新された組織ロールエンティティ。
OrganizationRole.Deleteddatanull/
OrganizationRole.Scope.Updateddatanull/
OrganizationRole.Scope.UpdatedorganizationRoleIdstring✅スコープが割り当てられたロール ID。(事前に割り当てられたスコープで新しいロールを作成することによってイベントがトリガーされた場合のみ利用可能)

組織権限 (組織スコープ) イベント

イベントフィールドタイプオプション備考
OrganizationScope.CreateddataOrganizationScope作成された組織スコープエンティティ。
OrganizationScope.Data.UpdateddataOrganizationScope更新された組織スコープエンティティ。
OrganizationScope.Deleteddatanull/