ログアウトイベントトリガの作成
組織で 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}