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

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;
};
enum ApplicationType {
Native = 'Native',
SPA = 'SPA',
Traditional = 'Traditional',
MachineToMachine = 'MachineToMachine',
Protected = 'Protected',
SAML = 'SAML',
}

type ApplicationEntity = {
id: string;
type: ApplicationType;
name: string;
description?: string;
};
フィールド型オプション備考
hookIdstringLogto 内の識別子。
eventstringこのフックをトリガーしたイベント。
createdAtstringペイロードの作成時刻(ISO 形式)。
interactionEventstringこのフックをトリガーしたインタラクションイベント。
sessionIdstring✅このイベントのセッション ID(インタラクション ID ではありません)。
userAgentstring✅このフックをトリガーしたリクエストのユーザーエージェント。
userIpstring✅このフックをトリガーしたリクエストの IP アドレス。
userIdstring✅このイベントに関連するユーザー ID。
userUserEntity✅このイベントに関連するユーザーエンティティ。
applicationIdstring✅このイベントに関連するアプリケーション ID。
applicationApplicationEntity✅このイベントに関連するアプリケーション情報。

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

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

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

フィールド型オプション備考
hookIdstringLogto 内の識別子。
eventstringこのフックをトリガーしたイベント。
createdAtstringペイロードの作成時刻(ISO 形式)。
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)イベント

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

例外フックイベントのリクエストボディ​

利用可能なイベント: Identifier.Lockout

リクエストボディは、標準リクエストボディフィールドと以下の追加フィールドを含む JSON オブジェクトです:

enum SignInIdentifier {
Email = 'email',
Phone = 'phone',
Username = 'username',
}
フィールド型オプション備考
hookIdstringLogto 内の識別子。
eventstringこのフックをトリガーしたイベント。
createdAtstringペイロードの作成時刻(ISO 形式)。
userAgentstring✅リクエストのユーザーエージェント。
ipstring✅リクエストの IP アドレス。
interactionEventstring✅このフックをトリガーしたインタラクションイベント。
sessionIdstring✅このイベントのセッション ID(インタラクション ID ではありません)。
applicationIdstring✅このイベントに関連するアプリケーション ID。
applicationApplicationEntity✅このイベントに関連するアプリケーション情報。
typeSignInIdentifierユーザーの識別子タイプ(例:email、phone、username)。
valuestringロックアウトを引き起こしたユーザーの識別子値。