SAML ユーザープール SP 開始サインインフロー - Amazon Cognito

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

SAML ユーザープール SP 開始サインインフロー

次の手順は、ユーザーが SAML プロバイダーを介してユーザープールにサインインする方法を示しています。


                    Amazon Cognito SP 開始 SAML サインインの認証フロー図。
  1. ユーザーはサインインページでメールアドレスを入力します。ユーザーの IdP へのリダイレクトを決定するには、カスタムアプリで E メールアドレスを収集するか、ウェブビューでホストされた UI を呼び出すことができます。ホストされた UI は、 のリストを表示する IdPs か、E メールアドレスのみの入力を求めるように設定できます。

  2. アプリはユーザープールリダイレクトエンドポイントを呼び出し、アプリに対応するクライアント ID とユーザーに対応する IdP ID を使用してセッションをリクエストします。

  3. Amazon Cognito は、 AuthnRequest要素内のオプションで署名された SAML リクエストを使用してユーザーを IdP にリダイレクトします。

  4. IdP は、ユーザーをインタラクティブに認証するか、ブラウザ Cookie で記憶されているセッションを使用してユーザーを認証します。

  5. IdP は、POST ペイロード内のオプションで暗号化された SAML アサーションを使用して、ユーザーをユーザープールの SAML レスポンスエンドポイントにリダイレクトします。

    注記

    Amazon Cognito は、5 分以内にレスポンスを受信しないセッションをキャンセルし、ユーザーをホストされた UI にリダイレクトします。ユーザーがこの結果に遭遇すると、Something went wrongエラーメッセージを受け取ります。

  6. SAML アサーションを検証し、レスポンスのクレームからユーザー属性をマッピングした後、Amazon Cognito はユーザープールでユーザープロファイルを内部的に作成または更新します。通常、ユーザープールはユーザーのブラウザセッションに認証コードを返します。

  7. ユーザーは認証コードをアプリケーションに提示します。アプリはコードを JSON ウェブトークン (JWTs。

  8. アプリは、ユーザーの ID トークンを認証として受け入れて処理し、アクセストークンを使用して リソースへの承認されたリクエストを生成し、更新トークンを保存します。

ユーザーが認証されて認証コード付与を受け取ると、ユーザープールは ID、アクセス、更新トークンを返します。ID トークンは、OIDC ベースの ID 管理用の認証オブジェクトです。アクセストークンは、OAuth 2.0 スコープを持つ認証オブジェクトです。更新トークンは、ユーザーの現在のトークンの有効期限が切れたときに新しい ID トークンとアクセストークンを生成するオブジェクトです。ユーザープールアプリクライアントでユーザーのトークンの期間を設定できます。

更新トークンの期間を選択することもできます。ユーザーの更新トークンの有効期限が切れたら、再度サインインする必要があります。SAML IdP を介して認証された場合、ユーザーのセッション期間は IdP とのセッションの有効期限ではなく、トークンの有効期限によって設定されます。アプリは、各ユーザーの更新トークンを保存し、有効期限が切れたらセッションを更新する必要があります。ホストされた UI は、ユーザーセッションを 1 時間有効なブラウザ Cookie に保持します。