翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
認証フローを実装する
マネージドログインを実装するか、認証用の AWS SDK を使用してカスタム構築されたアプリケーションフロントエンドを実装するかにかかわらず、実装する認証のタイプに合わせてアプリケーションクライアントを設定する必要があります。以下の情報では、アプリケーションクライアントとアプリケーションにおける認証フローの設定について説明します。
- App client supported flows
-
Amazon Cognito コンソールまたは AWS SDK の API を使用して、アプリケーションクライアントでサポートされているフローを設定できます。これらのフローをサポートするようにアプリケーションクライアントを設定した後で、アプリケーションにデプロイできます。
次の手順では、Amazon Cognito コンソールを使用してアプリケーションクライアントで利用できる認証フローを設定します。
認証フロー用にアプリケーションクライアントを設定するには (コンソール)
-
にサインイン AWS し、Amazon Cognito ユーザープールコンソール
に移動します。ユーザープールを選択するか、新しいユーザープールを作成します。 -
ユーザープールの設定で、[アプリケーションクライアント] メニューを選択します。アプリケーションクライアントを選択するか、新しく作成します。
-
[アプリケーションクライアントに関する情報] で、[編集] を選択します。
-
[アプリケーションクライアントのフロー] で、サポートする認証フローを選択します。
認証フロー用にアプリケーションクライアントを設定するには (API/SDK)
Amazon Cognito API を使用してアプリケーションクライアントで利用可能な認証フローを設定するには、CreateUserPoolClient リクエストまたは UpdateUserPoolClient リクエストで
ExplicitAuthFlowsの値を設定します。次の例では、セキュアリモートパスワード (SRP) と選択ベースの認証をクライアントにプロビジョニングします。"ExplicitAuthFlows": [ "ALLOW_USER_AUTH", "ALLOW_USER_SRP_AUTH" ]アプリケーションクライアントがサポートするフローを設定するときは、以下のオプションと API 値を指定できます。
アプリケーションクライアントでのフローのサポート 認証フロー 互換性 コンソール API 選択ベースの認証 サーバー側、クライアント側 サインイン時に認証タイプを選択する ALLOW_USER_AUTH永続的なパスワードによるサインイン クライアント側 ユーザー名とパスワードでサインインする ALLOW_USER_PASSWORD_AUTH永続的なパスワードと安全なペイロードによるサインイン サーバー側、クライアント側 セキュアリモートパスワード (SRP) でサインインする ALLOW_USER_SRP_AUTHトークンの更新 サーバー側、クライアント側 既存の認証済みセッションから新しいユーザートークンを取得する ALLOW_REFRESH_TOKEN_AUTHサーバー側の認証 サーバー側 サーバー側の管理認証情報でサインインする ALLOW_ADMIN_USER_PASSWORD_AUTHカスタム認証 サーバー側およびクライアント側のカスタム構築アプリケーション。マネージドログインとの互換性なし。 Lambda トリガーからのカスタム認証フローでサインインする ALLOW_CUSTOM_AUTH -
- Implement flows in your application
-
マネージドログインでは、設定された認証オプションがサインインページで自動的に利用可能になります。カスタム構築アプリケーションでは、初期フローの宣言から認証を開始します。
-
ユーザーのフローオプションのリストから選択するには、
USER_AUTHフローで選択ベースの認証を宣言します。このフローでは、パスキー認証やパスワードなしの認証など、クライアントベースの認証フローでは利用できない認証方法を利用できます。 -
認証フローを事前に選択するには、アプリケーションクライアントで利用可能な他のフローでクライアントベースの認証を宣言します。
ユーザーをサインインさせるときは、InitiateAuth リクエストまたは AdminInitiateAuth リクエストの本文に
AuthFlowパラメータを含める必要があります。選択ベースの認証:
"AuthFlow": "USER_AUTH"SRP によるクライアントベースの認証:
"AuthFlow": "USER_SRP_AUTH" -