ログアウトイベントトリガーの作成
組織で LogoutEventStream オブジェクトを使用できる場合は、組織の UI からセキュリティログアウトイベントに応答する Apex トリガーを作成できます。
| 使用可能なエディション: すべてのエディション |
LogoutEventStream が有効になると、ユーザーが UI からログアウトしたときに Salesforce がログアウトイベントを公開します。これらのイベントに登録するための Apex トリガーを追加できます。その後、ログアウト時のカスタムロジックを実装できます。たとえば、ログアウト時にユーザーのすべての更新トークンを呼び出すことができます。
タイムアウトの場合は LogoutEventStream オブジェクトが公開されません。例外は、組織で [セッションタイムアウト時に強制的にログアウト] 設定が有効になっているために、ユーザーのセッションがタイムアウトになった後にユーザーが自動的に組織からログアウトされた場合です。この場合はログアウトイベントが記録されます。ただし、ユーザーがセッション中にブラウザーを閉じた場合は、[セッションタイムアウト時に強制的にログアウト] 設定が有効になっているかどうかに関係なく、ログアウトイベントは記録されません。
- [設定] から [クイック検索] ボックスに「イベントマネージャー」と入力し、[イベントマネージャー] を選択します。
- ログアウトイベントの横にあるドロップダウンをクリックし、[ストリーミングを有効化] を選択します。
- ログアウトイベントに登録するための Apex トリガーを作成します。
例
この例では、登録者はログアウト時にカスタムログアウトイベントレコードを挿入します。
1trigger LogoutEventTrigger on LogoutEventStream (after insert) {
2 LogoutEventStream event = Trigger.new[0];
3 LogoutEvent__c record = new LogoutEvent__c();
4 record.EventIdentifier__c = event.EventIdentifier;
5 record.UserId__c = event.UserId;
6 record.Username__c = event.Username;
7 record.EventDate__c = event.EventDate;
8 record.RelatedEventIdentifier__c = event.RelatedEventIdentifier;
9 record.SessionKey__c = event.SessionKey;
10 record.LoginKey__c = event.LoginKey;
11 insert(record);
12}