シングルログアウト (SLO) を使用すると、アプリケーションはグローバルログアウトを開始できます。ユーザーが IDaaS のシングルサインオン (SSO) を使用してアプリケーションにサインインすると、アプリケーションはログアウトリクエストを開始できます。このリクエストにより、IDaaS でのユーザーのメインログインセッションも終了します。IDaaS は、OIDC SLO 標準に基づいてこのプロセスを実装します。この機能は現在、自己開発アプリケーションおよび OIDC ベースのアプリケーションでのみ利用可能です。
SLO は、ID フェデレーションのためのセッション管理メカニズムです。ご利用のアプリケーションでメインログインセッションを無視し、サインイン試行ごとに認証を要求するには、認可エンドポイントで prompt パラメーターを使用してください。
SLO エンドポイントの呼び出し
ログアウトを開始するには、まずご利用のアプリケーションでユーザーセッションを終了させ、次にユーザーを IDaaS が提供するアプリケーションの ログアウトエンドポイント にリダイレクトします。
管理者は、[アプリケーション詳細] > Sign-In > [シングルサインオン] タブの Application Settings セクションでログアウトエンドポイントを確認できます。
ログアウトエンドポイントの URL は https://{インスタンスのドメイン名}.aliyunidaas.com/login/app/{アプリケーション ID}/oauth2/logout という形式で、ユーザーを IDaaS のメインログインセッションからログアウトさせます。
ユーザーをこのエンドポイントにリダイレクトすると、SLO リクエストが開始されます。この段階では IDaaS はリクエストのソースを検証できないため、ユーザーにログアウト操作の確認を求めるプロンプトが表示されます。
この手動確認ステップはスキップできます。詳細については、以降のセクションをご参照ください。
アクティブな IDaaS ログインセッションが存在する場合、IDaaS はユーザーに [ログアウト] をクリックして操作を確認するよう促します。
ユーザーが操作を確認した場合、またはアクティブな IDaaS ログインセッションが存在しない場合、IDaaS は [ログアウトしました] というメッセージを表示します。
ログアウト後の自動リダイレクト
IDaaS の「ログアウトしました」ページを表示する代わりに、ログアウト後にユーザーをご利用のアプリケーションにリダイレクトするには、ログアウトコールバック URL を設定します。この URL は post_logout_redirect_uri パラメーターを使用して指定します。
管理者は、Applications > [管理] > [サインオン] > [シングルサインオン] に移動し、Logout Redirect URIs 設定を見つけて、アプリケーションの完全なコールバック URL を入力する必要があります。
Logout Redirect URIs フィールドは許可リストとして機能し、最大 5 つの URL を追加できます。ログアウトが開始されると、SLO エンドポイントに渡される post_logout_redirect_uri の値がこの許可リストに含まれている必要があります。
ログアウトコールバック URL 設定は、[詳細設定] セクションにあります。シングルサインオンの設定ページで、[詳細設定の表示] をクリックしてセクションを展開し、設定を見つけて構成する必要があります。
設定を保存した後、post_logout_redirect_uri パラメーターを SLO エンドポイントに渡すことで、ログアウト後のリダイレクトを有効にできます。
自動ログアウト
シームレスなユーザーエクスペリエンスを実現するために、手動確認ステップをスキップして、ユーザーを自動的にログアウトさせ、リダイレクトすることができます。これを有効にするには、前述のように ログアウトコールバック URL を設定し、追加のパラメーター id_token_hint を SLO エンドポイントに渡す必要があります。
SLO ログアウトエンドポイントは、次のパラメーターをサポートしています:
|
パラメーター |
必須 |
説明 |
|
id_token_hint |
いいえ |
自動ログアウトを有効にするために必須です。このパラメーターはリクエストの有効性を検証します。 SSO 中に IDaaS によって発行され、最新のセッションに対応する (つまり、セッション ID が一致する) 説明
これは、悪意のあるログアウト攻撃を防ぐために OIDC 仕様で定義されているセキュリティ対策です。 |
|
post_logout_redirect_uri |
いいえ |
ログアウト後の自動リダイレクトを有効にするために必須です。 SLO の完了後に IDaaS がユーザーをリダイレクトする HTTPS コールバック URL です。この URL は、IDaaS のアプリケーション設定で構成する必要があります。 |
|
state |
いいえ |
ランダムな文字列です。自動リダイレクトが設定されている場合、IDaaS はこの値をコールバックパラメーターとしてアプリケーションに返します。 セキュリティ検証に使用されます。 |
次の例は、SLO エンドポイントへのリクエストを示しています:
GET https://example.aliyunidaas.com/login/app/<application_id>/oauth2/logout
?id_token_hint=${id_token}
&post_logout_redirect_uri=${post_logout_redirect_uri}
&state=${state}
SLO ワークフロー

IDaaS の SLO 機能には、現在次の制限事項があります:
-
OIDC SLO のみが実装されています。SAML SLO はまだサポートされていません。
-
SP 起点の SLO のみが実装されています。他の OIDC SLO モードはまだサポートされていません。
-
IDaaS のメインログインセッションのみが終了します。他のログイン済みアプリケーションは影響を受けません。これは、グローバル SLO が実装されていないことを意味します。