Flutter で Android アプリの例を設定する - Amazon Cognito

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

Flutter で Android アプリの例を設定する

このチュートリアルでは、Android Studio でモバイルアプリケーションを作成し、デバイスをエミュレートしてユーザーのサインアップ、確認、サインインをテストします。この例では、Flutter で Android 用の基本的な Amazon Cognito ユーザープールモバイルクライアントを作成します。Flutter でのモバイルアプリ開発の経験がある場合は、 からサンプルアプリをダウンロードしてください GitHub

次のスクリーンショットは、仮想 Android デバイスで実行されているアプリを示しています。

仮想化 Android サンプルアプリケーションのサインアップページのスクリーンショット。

ユーザープールの作成手順では、サンプルアプリケーションで動作するユーザープールを設定します。以下の要件を満たすユーザープールがある場合は、このステップをスキップできます。

  • ユーザーは E メールアドレスでサインインできます。Cognito ユーザープールのサインインオプション: E メール

  • ユーザー名は大文字と小文字を区別しません。ユーザー名の要件 : ユーザー名の大文字と小文字を区別するが選択されていません。

  • 多要素認証 (MFA) は必要ありません。MFA 適用: オプション。 MFA

  • ユーザープールは、E メールメッセージを使用して、ユーザープロファイルの確認の属性を検証します。検証する属性: E メールメッセージを送信し、E メールアドレスを検証します。

  • E メールは唯一の必須属性です。必須属性: E メール

  • ユーザーはユーザープールにサインアップできます。自己登録 : 自己登録を有効にするが選択されています。

  • 最初のアプリケーションクライアントは、ユーザー名とパスワードによるサインインを許可するパブリッククライアントです。アプリケーションタイプ : パブリッククライアント 認証フロー : ALLOW_USER_PASSWORD_AUTH

新しいユーザープールを作成する
  1. Amazon Cognito コンソールに移動します。プロンプトが表示されたら、 AWS 認証情報を入力します。

  2. ユーザープールの作成ボタンを選択します。このオプションを表示するには、左側のナビゲーションペインからユーザープールを選択する必要があります。

  3. ページの右上隅にある [Create a user pool] (ユーザープールを作成する) を選択して、ユーザープール作成のウィザードを開始します。

  4. サインインエクスペリエンスの設定 では、このユーザープールで使用する ID プロバイダー (IdPs) を選択できます。詳細については、「サードパーティー経由のユーザープールへのサインインの追加」を参照してください。

    1. 認証プロバイダー プロバイダータイプ では、Cognito ユーザープールのみが選択されていることを確認します。

    2. Cognito ユーザープールのサインインオプション では、ユーザー名 を選択します。追加のユーザー名要件 は選択しないでください。

    3. 他のすべてのオプションをデフォルトのままにして、次へ を選択します。

  5. セキュリティ要件の設定 では、パスワードポリシー、多要素認証 (MFA) 要件、およびユーザーアカウントの復旧オプションを選択できます。詳細については、「Amazon Cognito ユーザープールのセキュリティ機能を使用する」を参照してください。

    1. パスワードポリシー の場合、パスワードポリシーモードCognito のデフォルト に設定されていることを確認します。

    2. 多要素認証 で、MFA適用オプション MFAを選択します。

    3. MFA メソッド では、Authenticator アプリケーションSMSメッセージ を選択します。

    4. ユーザーアカウントリカバリ の場合、セルフサービスアカウントリカバリを有効にするが選択され、ユーザーアカウントリカバリメッセージの配信方法が E メールのみに設定されていることを確認します。

    5. 他のすべてのオプションをデフォルトのままにして、次へ を選択します。

  6. サインアップエクスペリエンスの設定 では、新しいユーザーとしてサインアップするときに新しいユーザーが ID を検証する方法と、ユーザーサインアップフロー中にどの属性が必要か、またはオプションかを決定できます。詳細については、「ユーザープール内のユーザーを管理する」を参照してください。

    1. 自己登録を有効にするが選択されていることを確認します。この設定により、インターネット上のすべてのユーザーからサインアップするためのユーザープールが開きます。これはサンプルアプリケーションを目的としていますが、本番環境ではこの設定を慎重に適用してください。

    2. Cognito による検証と確認 で、Cognito が確認と確認のためにメッセージを自動的に送信することを許可するチェックボックスが選択されていることを確認します。

    3. 検証する属性が E メールメッセージの送信 に設定されていることを確認します。E メールアドレス を確認します

    4. 属性の変更の検証 で、デフォルトのオプションが選択されていることを確認します。更新が保留中の場合は元の属性値を保持し、更新が保留中の場合はアクティブな属性値を E メールアドレス に設定します。

    5. 「必須属性」で、前の選択に基づく必須属性E メール が表示されることを確認します。

      重要

      この例では、ユーザープールで phone_number を必須属性として設定しないでください。phone_number が必須属性として表示されている場合は、前の選択肢を確認して更新します。

      • オプション、MFAE メールのみ配信方法によるユーザーアカウントの復旧メッセージ

      • E メールメッセージを送信し、検証する属性の E メールアドレスを確認する

    6. 他のすべてのオプションをデフォルトのままにして、次へ を選択します。

  7. メッセージ配信の設定 では、Amazon Simple Email Service および Amazon Simple Notification Service との統合を設定して、サインアップ、アカウント確認、MFA、およびアカウントの復旧のために E メールとSMSメッセージを送信できます。詳細については、「Amazon Cognito ユーザープールの E メール設定」および「SMS Amazon Cognito ユーザープールのメッセージ設定」を参照してください。

    1. E メールプロバイダー では、Cognito を使用して E メールを送信を選択し、Amazon Cognito が提供するデフォルトの E メール送信者を使用します。E メールボリュームが少ない場合、この設定はアプリケーションのテストに十分です。Amazon Simple Email Service (Amazon SES) で E メールアドレスを検証し、Amazon で E メールを送信 SESを選択すると、 を返すことができます。

    2. SMS新しいIAMロールの作成 を選択し、IAMロール名 を入力します。これにより、Amazon Cognito にSMSメッセージを送信するアクセス許可を付与するロールが作成されます。

    3. 他のすべてのオプションをデフォルトのままにして、次へ を選択します。

  8. アプリケーションの統合 では、ユーザープールに名前を付け、ホストされた UI を設定し、アプリケーションクライアントを作成できます。詳細については、「ホストされた UI でアプリケーションクライアントを追加する」を参照してください。サンプルアプリケーションは、ホストされた UI を使用しません。

    1. ユーザープール名 に、ユーザープール名 を入力します。

    2. Cognito がホストする UI の使用 は選択しないでください。

    3. 初期アプリケーションクライアント で、アプリケーションタイプパブリッククライアント に設定されていることを確認します。

    4. クライアントシークレット で、クライアントシークレットを生成しない が選択されていることを確認します。

    5. [App client name] (アプリケーションクライアント名) を入力します。

    6. アドバンストアプリケーションクライアント設定 を展開します。認証フロー のリストALLOW_USER_PASSWORD_AUTHに を追加します。

    7. 他のすべてのオプションをデフォルトのままにして、次へ を選択します。

  9. 「レビューと作成」画面で選択内容を確認し、必要に応じて選択内容を変更します。ユーザープールの設定に満足したら、ユーザープールの作成を選択して続行します。

  10. ユーザープールページで、新しいユーザープールを選択します。

  11. ユーザープールの概要 で、ユーザープール ID を書き留めます。この文字列は、サンプルアプリケーションを作成するときに指定します。

  12. アプリ統合タブを選択し、アプリクライアントと分析セクションを見つけます。新しいアプリケーションクライアントを選択します。クライアント ID を書き留めます。

アプリケーションの作成

Android アプリの例を作成するには
  1. Android Studio とコマンドラインツール をインストールします。

  2. Android Studio で、Flutter プラグイン をインストールします。

  3. この例のアプリケーションcognito_flutter_mobile_app ディレクトリの内容から新しい Android Studio プロジェクトを作成します。

    1. <<YOUR USER POOL ID>> および を編集assets/config.jsonして、以前に作成したIDsユーザープールとアプリケーションクライアントの << YOUR CLIENT ID>>に置き換えます。 ユーザープールを作成する

  4. Flutter をインストールします。

    1. PATH 変数に Flutter を追加します。

    2. 次のコマンドを使用してライセンスを受け入れます。

      flutter doctor --android-licenses

    3. Flutter 環境を確認し、不足しているコンポーネントをインストールします。

      flutter doctor

      1. コンポーネントが見つからない場合は、 flutter doctor -vを実行して問題を解決する方法を学習します。

    4. 新しい Flutter プロジェクトのディレクトリに変更し、依存関係をインストールします。

      1. flutter pub add amazon_cognito_identity_dart_2 を実行します。

    5. flutter pub add flutter_secure_storage を実行します。

  5. 仮想 Android デバイスを作成します。

    1. Android スタジオ でGUI、デバイスマネージャー を使用して新しいデバイスを作成します。

    2. でCLI、 を実行しますflutter emulators --create --name android-device

  6. 仮想 Android デバイスを起動します。

    1. Android Studio でGUI、仮想デバイスの横にある開始 Play button icon with a blue triangle pointing to the right. アイコンを選択します。

    2. でCLI、 を実行しますflutter emulators --launch android-device

  7. 仮想デバイスでアプリを起動します。

    1. Android Studio でGUI、デプロイ Green play button icon representing a start or play action. アイコンを選択します。

    2. でCLI、 を実行しますflutter run

  8. Android Studio で実行中の仮想デバイスに移動します。

  9. 有効な E メールアドレスで新しいユーザーをサインアップします。

  10. E メールメッセージから確認コードを取得します。アプリケーションに確認コードを入力します。

  11. ユーザー名とパスワードでサインインします。