翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Flutter で Android アプリの例を設定する
このチュートリアルでは、Android Studio でモバイルアプリケーションを作成し、デバイスをエミュレートしてユーザーのサインアップ、確認、サインインをテストします。この例では、Flutter で Android 用の基本的な Amazon Cognito ユーザープールモバイルクライアントを作成します。Flutter でのモバイルアプリ開発の経験がある場合は、 からサンプルアプリをダウンロードしてください GitHub
次のスクリーンショットは、仮想 Android デバイスで実行されているアプリを示しています。
ユーザープールの作成手順では、サンプルアプリケーションで動作するユーザープールを設定します。以下の要件を満たすユーザープールがある場合は、このステップをスキップできます。
-
ユーザーは E メールアドレスでサインインできます。Cognito ユーザープールのサインインオプション: E メール 。
-
ユーザー名は大文字と小文字を区別しません。ユーザー名の要件 : ユーザー名の大文字と小文字を区別するが選択されていません。
-
多要素認証 (MFA) は必要ありません。MFA 適用: オプション。 MFA
-
ユーザープールは、E メールメッセージを使用して、ユーザープロファイルの確認の属性を検証します。検証する属性: E メールメッセージを送信し、E メールアドレスを検証します。
-
E メールは唯一の必須属性です。必須属性: E メール 。
-
ユーザーはユーザープールにサインアップできます。自己登録 : 自己登録を有効にするが選択されています。
-
最初のアプリケーションクライアントは、ユーザー名とパスワードによるサインインを許可するパブリッククライアントです。アプリケーションタイプ : パブリッククライアント 、認証フロー :
ALLOW_USER_PASSWORD_AUTH
。
新しいユーザープールを作成する
-
Amazon Cognito コンソール
に移動します。プロンプトが表示されたら、 AWS 認証情報を入力します。 -
ユーザープールの作成ボタンを選択します。このオプションを表示するには、左側のナビゲーションペインからユーザープールを選択する必要があります。
-
ページの右上隅にある [Create a user pool] (ユーザープールを作成する) を選択して、ユーザープール作成のウィザードを開始します。
-
サインインエクスペリエンスの設定 では、このユーザープールで使用する ID プロバイダー (IdPs) を選択できます。詳細については、「サードパーティー経由のユーザープールへのサインインの追加」を参照してください。
-
認証プロバイダー のプロバイダータイプ では、Cognito ユーザープールのみが選択されていることを確認します。
-
Cognito ユーザープールのサインインオプション では、ユーザー名 を選択します。追加のユーザー名要件 は選択しないでください。
-
他のすべてのオプションをデフォルトのままにして、次へ を選択します。
-
-
セキュリティ要件の設定 では、パスワードポリシー、多要素認証 (MFA) 要件、およびユーザーアカウントの復旧オプションを選択できます。詳細については、「Amazon Cognito ユーザープールのセキュリティ機能を使用する」を参照してください。
-
パスワードポリシー の場合、パスワードポリシーモードが Cognito のデフォルト に設定されていることを確認します。
-
多要素認証 で、MFA適用 に オプション MFAを選択します。
-
MFA メソッド では、Authenticator アプリケーションとSMSメッセージ を選択します。
-
ユーザーアカウントリカバリ の場合、セルフサービスアカウントリカバリを有効にするが選択され、ユーザーアカウントリカバリメッセージの配信方法が E メールのみに設定されていることを確認します。
-
他のすべてのオプションをデフォルトのままにして、次へ を選択します。
-
-
サインアップエクスペリエンスの設定 では、新しいユーザーとしてサインアップするときに新しいユーザーが ID を検証する方法と、ユーザーサインアップフロー中にどの属性が必要か、またはオプションかを決定できます。詳細については、「ユーザープール内のユーザーを管理する」を参照してください。
-
自己登録を有効にするが選択されていることを確認します。この設定により、インターネット上のすべてのユーザーからサインアップするためのユーザープールが開きます。これはサンプルアプリケーションを目的としていますが、本番環境ではこの設定を慎重に適用してください。
-
Cognito による検証と確認 で、Cognito が確認と確認のためにメッセージを自動的に送信することを許可するチェックボックスが選択されていることを確認します。
-
検証する属性が E メールメッセージの送信 に設定されていることを確認します。E メールアドレス を確認します。
-
属性の変更の検証 で、デフォルトのオプションが選択されていることを確認します。更新が保留中の場合は元の属性値を保持し、更新が保留中の場合はアクティブな属性値を E メールアドレス に設定します。
-
「必須属性」で、前の選択に基づく必須属性に E メール が表示されることを確認します。
重要
この例では、ユーザープールで phone_number を必須属性として設定しないでください。phone_number が必須属性として表示されている場合は、前の選択肢を確認して更新します。
-
オプション、MFAE メールのみの配信方法によるユーザーアカウントの復旧メッセージ
-
E メールメッセージを送信し、検証する属性の E メールアドレスを確認する
-
-
他のすべてのオプションをデフォルトのままにして、次へ を選択します。
-
-
メッセージ配信の設定 では、Amazon Simple Email Service および Amazon Simple Notification Service との統合を設定して、サインアップ、アカウント確認、MFA、およびアカウントの復旧のために E メールとSMSメッセージを送信できます。詳細については、「Amazon Cognito ユーザープールの E メール設定」および「SMS Amazon Cognito ユーザープールのメッセージ設定」を参照してください。
-
E メールプロバイダー では、Cognito を使用して E メールを送信を選択し、Amazon Cognito が提供するデフォルトの E メール送信者を使用します。E メールボリュームが少ない場合、この設定はアプリケーションのテストに十分です。Amazon Simple Email Service (Amazon SES) で E メールアドレスを検証し、Amazon で E メールを送信 SESを選択すると、 を返すことができます。
-
でSMS、新しいIAMロールの作成 を選択し、IAMロール名 を入力します。これにより、Amazon Cognito にSMSメッセージを送信するアクセス許可を付与するロールが作成されます。
-
他のすべてのオプションをデフォルトのままにして、次へ を選択します。
-
-
アプリケーションの統合 では、ユーザープールに名前を付け、ホストされた UI を設定し、アプリケーションクライアントを作成できます。詳細については、「ホストされた UI でアプリケーションクライアントを追加する」を参照してください。サンプルアプリケーションは、ホストされた UI を使用しません。
-
ユーザープール名 に、ユーザープール名 を入力します。
-
Cognito がホストする UI の使用 は選択しないでください。
-
初期アプリケーションクライアント で、アプリケーションタイプがパブリッククライアント に設定されていることを確認します。
-
クライアントシークレット で、クライアントシークレットを生成しない が選択されていることを確認します。
-
[App client name] (アプリケーションクライアント名) を入力します。
-
アドバンストアプリケーションクライアント設定 を展開します。認証フロー のリスト
ALLOW_USER_PASSWORD_AUTH
に を追加します。 -
他のすべてのオプションをデフォルトのままにして、次へ を選択します。
-
-
「レビューと作成」画面で選択内容を確認し、必要に応じて選択内容を変更します。ユーザープールの設定に満足したら、ユーザープールの作成を選択して続行します。
-
ユーザープールページで、新しいユーザープールを選択します。
-
ユーザープールの概要 で、ユーザープール ID を書き留めます。この文字列は、サンプルアプリケーションを作成するときに指定します。
-
アプリ統合タブを選択し、アプリクライアントと分析セクションを見つけます。新しいアプリケーションクライアントを選択します。クライアント ID を書き留めます。
関連リソース
アプリケーションの作成
Android アプリの例を作成するには
-
Android Studio
とコマンドラインツール をインストールします。 -
Android Studio で、Flutter プラグイン
をインストールします。 -
この例のアプリケーション
の cognito_flutter_mobile_app
ディレクトリの内容から新しい Android Studio プロジェクトを作成します。-
<<YOUR USER POOL ID>>
および を編集assets/config.json
して、以前に作成したIDsユーザープールとアプリケーションクライアントの<< YOUR CLIENT ID>>
に置き換えます。 ユーザープールを作成する
-
-
Flutter
をインストールします。 -
PATH 変数に Flutter を追加します。
-
次のコマンドを使用してライセンスを受け入れます。
flutter doctor --android-licenses
-
Flutter 環境を確認し、不足しているコンポーネントをインストールします。
flutter doctor
-
コンポーネントが見つからない場合は、
flutter doctor -v
を実行して問題を解決する方法を学習します。
-
-
新しい Flutter プロジェクトのディレクトリに変更し、依存関係をインストールします。
-
flutter pub add amazon_cognito_identity_dart_2
を実行します。
-
-
flutter pub add flutter_secure_storage
を実行します。
-
-
仮想 Android デバイスを作成します。
-
Android スタジオ でGUI、デバイスマネージャー を使用して新しいデバイス
を作成します。 -
でCLI、 を実行します
flutter emulators --create --name android-device
。
-
-
仮想 Android デバイスを起動します。
-
Android Studio でGUI、仮想デバイスの横にある開始 アイコンを選択します。
-
でCLI、 を実行します
flutter emulators --launch android-device
。
-
-
仮想デバイスでアプリを起動します。
-
Android Studio でGUI、デプロイ アイコンを選択します。
-
でCLI、 を実行します
flutter run
。
-
-
Android Studio で実行中の仮想デバイスに移動します。
-
有効な E メールアドレスで新しいユーザーをサインアップします。
-
E メールメッセージから確認コードを取得します。アプリケーションに確認コードを入力します。
-
ユーザー名とパスワードでサインインします。