2022/08/8

Salesforceでlogoutとは?色々な機能をご紹介します!

 
  

Salesforcelogin、logoutとは?

Salesforceでは多くの便利なサービスが利用できますが、それを利用するにはログインが必要であり、利用後にはログアウトが必要です。 他のほとんどのプラットフォームでも同様ですが、サービスを利用するにはユーザー名やパスワード、セキュリティトークン等を利用してログインが必要です。ログインすることによってユーザーごとのセッションを開始できます。 ログイン後は、セキュリティ上の観点やパフォーマンス向上のために、ログアウトが必要です。サービス利用後にログアウトしていないと、今まで使っていたセッションが他のユーザーに利用される可能性があります。 また、同時に利用されるセッション数が多くなりすぎると、ネットワークやサービスに負荷をかけ、パフォーマンスが十分に発揮されない可能性があります。 以下ではSalesforceでのlogoutの実装方法を紹介していきます。

Salesforceで利用するAPI

Salesforceには、用途によって色々なAPIが用意されています。 Salesforceで利用されるAPIには「SOAP API」、「REST API」、「Bulk API」、「メタデータ API」、「Apex」、「Visualforce」などがあります。 今回は、スピーディな開発を可能にするプラットフォームであるSalesforce Lightningで主に利用される「SOAP API」、「Apex」、「Visualforce」での実装方法を中心に解説していきます。 「SOAP API」は、Webサービスをサポートしている言語で使用され、パスワードの管理や検索等の多くの機能を実行できるAPIです。 「Apex」は、Web サービスやメールサービスを作成したり、複雑な処理を実行する際に主に利用されるAPIです。 「Visualforce」は、ユーザーインターフェイスのカスタマイズが可能なAPIです。

SOAP APIでの実装

SOAP APIでユーザーをログアウトさせるにはlogout()コールを利用します。 logout()は以下のような構文で利用し、ユーザーをログアウトできます。
構文:connection.logout();
ここで、記述例を見てみましょう。
例:public void logoutSample() {
   try {
      connection.logout();
      System.out.println(""Logged out."");
   } catch (ConnectionException ce) {
      ce.printStackTrace();
   }
}
出典:https://developer.salesforce.com/docs/atlas.ja-jp.api.meta/api/sforce_api_calls_logout.htm
この例では、現在のユーザーをログアウトして「Logged out.」とメッセージを表示しています。

Apexでの実装

Apexでは、Apexトリガーを作成することによって、ユーザーのログアウトイベントを記録できます。 SalesforceはUIからユーザーがログアウトしたときに、そのイベントを公開します。以下の例のように、Apexトリガーを作成することによってそのイベントを記録できます。

Apexでの実装例

以下の例では、ログアウト時のユーザーID等を記録しています。
trigger LogoutEventTrigger on LogoutEventStream (after insert) {
  LogoutEventStream event = Trigger.new[0];
  LogoutEvent__c record = new LogoutEvent__c();
  record.EventIdentifier__c = event.EventIdentifier;
  record.UserId__c = event.UserId;
 (中略)
  insert(record);
}
出典:https://help.salesforce.com/articleView?id=sf.security_auth_create_logout_event_trigger.htm&type=5

Visualforceでの実装―オムニチャネルからのログアウト

オムニチャネルからログアウトするには、logoutメソッドを利用します。 オムニチャネルとは、ある作業を、対応できるエージェントに転送するソリューションです。このチャネルからlogoutするには、以下のようにlogoutメソッドを利用します。
構文:sforce.console.presence.logout((optional) callback:function)

CLIを利用したlogoutの実装―Salesforce DXの組織からのログアウト

Salesforce DXの組織からのlogoutはSalesforce CLIを利用して実装できます。 Salesforceには、組織を作成してその組織内で開発を進めることで新たな知見の創造や作業の効率化をもたらすSalesforce DXというものがあります。 この組織からのログアウトは以下の構文で実装できます。
構文:sfdx force:auth:logout --targetusername my-hub-org

Salesforceのlogoutを活用しよう!

今回はSalesforceのlogoutについてご紹介しました。 logoutは様々な用途のために利用されます。今回ご紹介したものをベースにどんどん応用させてSalesforceを便利に活用していきましょう。]]>

ITエンジニアへのキャリアチェンジならキャリアチェンジアカデミー

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニア
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞

おすすめの動画

  • 【未経験からIT業界へ転職するなら】相談窓口とスキルの獲得はここで解決!IT転職が一気に有利に!【キャリアチェンジアカデミー】

  • 【費用一切不要】未経験からIT業界へ転職するならまずはここへ相談!【キャリアチェンジアカデミー】

  • 【何のエンジニアになれるのか?】未経験からITエンジニアを目指すとこんな道がある【キャリアチェンジアカデミー】