スキップしてコンテンツを表示

Cognito ユーザープールを使用するアプリケーションに SAML サインアウトフローを実装する方法を教えてください。

所要時間1分
0

Amazon Cognito ユーザープールを使用するアプリケーションで SAML シングルサインアウトを構成したいと考えています。アプリケーションでも SAML ID プロバイダー (IdP) を認証に使用しています。

解決策

前提条件:

SAML IdP で SAML サインアウトを有効化する

次の手順を実行します。

  1. Amazon Cognito コンソール
  2. ナビゲーションペインで [ユーザープール] を選択し、目的のユーザープールを選択します。
  3. [ソーシャルプロバイダーと外部プロバイダー] を選択し、目的の SAML IdP を選択します。
  4. SAML IdP の構成において、[サインアウトフローを追加] と**[このプロバイダーへの SAML リクエストに署名する]** を選択します。次に、設定を保存します。
  5. [署名証明書を表示] を選択します。
  6. [.crt 形式でダウンロード] を選択します。
  7. [閉じる] を選択します。

外部 IdP でサインアウトを有効化する設定を行う

Cognito アプリケーションでシングルサインアウトを構成するには、使用する IdP のマニュアルを参照の上、SAML アプリケーションでシングルサインアウトを有効化してください。

アプリケーションの構成時に、次の手順を実行します。

  1. IdP の SAML アプリケーション構成における署名証明書として、Cognito ユーザープールから .crt ファイルをアップロードします。
  2. IdP の構成でシングルサインアウトを有効にします。
    注: IdP によっては、シングルサインアウトをシングルログアウト (SLO) と表記する場合があります。
  3. IdP の構成で次の値を指定します。
    [シングルサインアウト URL] に https://YourDomain.auth.Region.amazoncognito.com/saml2/logout を入力します。
    [サービスプロバイダー (SP) 発行者] に urn:amazon:cognito:sp:YourUserPoolID を入力します。
    注: YourDomain、Region、YourUserPoolID をそれぞれ目的の値に置き換えてください。IdP は、SAML LogoutResponse を HTTP POST リクエストとして送信する必要があります。その後、Cognito はユーザーを最初のリクエストに含まれるサインアウト URL にリダイレクトします。

シングルサインアウトをテストする

Cognito の /logout エンドポイント に GET リクエストを行います。リクエストには、client_id と logout_uri の各パラメータが必要です。

ログアウト URL の例:

https://YourDomain.auth.Region.amazoncognito.com/logout?client_id=YourAppClientID&logout_uri=YourAllowedSignOutURL

注: カスタムアプリケーションでは、ユーザーのブラウザにローカル保存されたトークンまたはセッション情報を削除する必要があります (例: localStorage、sessionStorage)。Cognito のログアウト URL は、マネージド UI を使用するアプリケーションの Cognito Cookie のみをクリアします。

関連情報

シングルサインアウトで SAML ユーザーをサインアウトする

AWS公式更新しました 1年前
コメントはありません