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

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ロックアウトを引き起こしたユーザーの識別子値。