最近のアクセス:
GAM を使用したシングル サイン オンのログアウトオプション

GAM を使用したアプリケーションのシングル サイン オンに関して、ログアウトの実装方法は 3 つあります。
まず、次の点を考慮する必要があります:
       
  1. シングル サイン オン機能は、実行時の GAM SSO フローで説明したように動作します。このアーキテクチャには、n 個のクライアントアプリケーション (*) と 1 つの ID プロバイダーがあります。そのすべてがそれぞれの GAM を持ちます。
     
  2. 内部では、ユーザーが ID プロバイダーにログインしたとき、ユーザーセッションがローカルで作成され (ローカル GAM 上)、2 つのセッションが ID プロバイダー上で作成されます。サーバー IP (ID プロバイダー) で作成されるセッションは、次のとおりです:
  • ユーザーとクライアントのペアに関連付けられるセッション。このセッションを終了すると、ユーザーの ID プロバイダー接続が解除されます。
  • サーバー IP のユーザーセッション。このセッションを終了すると、新しいログインを実行することなく、ID プロバイダーとの新しい接続を確立する可能性がなくなります。
手順 3 -下記のオプションを考慮せずにクライアントで GAMsession.logout を実行しても、サーバーログアウトは実行されません。
 (*)「クライアントアプリケーション」とは、ブラウザー/デバイスで実行されるアプリケーションを指します。
例:  
  • 1 つのブラウザーで App1、App1、App2 の 3 つのタブを開いている場合、「クライアントアプリケーション」は 2 つ (App1 と App2) になります。
  • 1 つのブラウザーで App1、App1、App2 の 3 つのタブを開き、同じデバイスの別のブラウザー (または別のデバイス) で App1 と App3 を開いている場合、"クライアントアプリケーション" は 4 つ (一方のデバイスの App1 と App2、そしてもう一方のデバイスの App1 と App3) になります。
ログアウトは基本的に、クライアント側のみ (サーバーのユーザーセッションは存続)、ID プロバイダーとクライアント (サーバー IP のユーザーセッションを終了)、ID プロバイダーとすべてのクライアント (そのユーザーを対象とするすべてのクライアントアプリケーションのセッションとサーバー IP のユーザーセッションを終了) のいずれかとなります。

クライアント側のみ

このシナリオでは、ユーザーとクライアントアプリケーションのペアに関連付けられたセッションが終了します。このセッションを終了すると、ユーザーの ID プロバイダー接続が解除されます。次回このクライアントアプリケーションからログインする際は、サーバーの ID プロバイダーセッションが存続している場合は (タイムアウトしていない場合は)、それが使用されます。
フローは次のようになります:
  1. クライアントでログアウトが実行され、クライアントの GAM データベースのユーザーセッションが終了します。
  2. ユーザーとクライアントアプリケーションのペアに関連付けられたセッションが終了します。ただし、サーバー上のユーザーセッションは存続します。
最後に、ログアウトが実行されたクライアントアプリケーションの GAM Application logout オブジェクトに対するリダイレクトが実行されます。
イメージ:32374.png

ID プロバイダーとクライアント

  1. クライアントでログアウトが実行され、クライアントの GAM データベースのユーザーセッションが終了します。
  2. ユーザーとクライアントアプリケーションのペアに関連付けられたセッションが終了します。
  3. サーバー ID プロバイダーのユーザーセッションが終了します。次回ユーザーがログインしようとすると、サーバーセッションが存在しないので、ID プロバイダーにログインするために再度認証情報を入力するよう求められます。ほかのアプリケーションに関しては、そのローカルセッションが存続している限り、そのままユーザーのログイン状態が維持されます。 
最後に、ログアウトが実行されたクライアントアプリケーションの GAM Application logout オブジェクトに対するリダイレクトが実行されます。
イメージ:32373.png

ID プロバイダーとすべてのクライアント

  1. クライアントでログアウトが実行され、クライアントの GAM データベースのユーザーセッションが終了します。
  2. すべてのクライアントアプリケーションで、ユーザーとクライアントアプリケーションのペアに関連付けられたセッションが終了します。
  3. サーバー上のユーザーセッションが終了します。
  4. 各アプリケーションで、クライアントアプリケーションの GAM データベース上のユーザーセッションが終了します。
最後に、ログアウトが実行されたクライアントアプリケーションの GAM Application logout オブジェクトに対するリダイレクトが実行されます。
イメージ:32372.png
ID プロバイダーとすべてのクライアントのオプションを使用した場合、GeneXus 15 Upgrade 11 以降では、最後のユーザーが ID プロバイダーからログアウトすると、(同じブラウザーインスタンスで実行されている) クライアントセッションも終了します。

SSO 向けにログアウトオプションを設定する方法

ID プロバイダーの [ リポジトリ設定 ] の [ GAM Web Backoffice ] を使用して、オプションを設定します (あるいは、GAM API を使用して、プログラムで制御します)。
イメージ:32371.png

 

 






サブページ
Created: 17/05/30 19:02 by Admin Last update: 21/11/11 17:55 by Admin
カテゴリ
Powered by GXwiki 3.0