本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設置一個示例 Android 應用程序與撲
在本教程中,您將在 Android Studio 中創建一個移動應用程序,您可以在其中模擬設備並測試用戶註冊,確認和登錄。這個示例應用程序創建一個基本的 Amazon Cognito 用戶池移動客戶端為 Android 在 Flutter。如果您已經在使用 Flutter 進行移動應用程序開發方面有經驗,請從 GitHub下載示例應用程序
下列螢幕擷取畫面顯示在虛擬 Android 裝置上執行的應用程式。
![虛擬化 Android 示例應用程序的註冊頁面的屏幕截圖。](images/cognito-getting-started-android-app-running.png)
[建立使用者集區] 程序會為您設定可搭配範例應用程式使用的使用者集區。如果您的使用者集區符合下列需求,則可略過此步驟:
-
使用者可以使用其電子郵件地址登入。Cognito 使用者集區登入選項:電子郵件。
-
使用者名稱不區分大小寫。使用者名稱需求:未選取使用者名稱區分大小寫。
-
不需要多因素身份驗證(MFA)。MFA 執行:可選 M FA。
-
您的使用者集區會透過電子郵件訊息驗證使用者設定檔確認的屬性。要驗證的屬性:傳送電子郵件訊息、驗證電子郵件地址。
-
電子郵件是唯一必需的屬性。必要屬性:電子郵件。
-
使用者可以在您的使用者集區中自行註冊。自助註冊:已選取「啟用自助註冊」。
-
您的初始應用程序客戶端是一個公共客戶端,允許使用用戶名和密碼登錄。應用程序類型:公共客戶端,身份驗證流程:
ALLOW_USER_PASSWORD_AUTH
。
建立新的使用者集區
-
前往 Amazon Cognito 主控台
。如果出現提示,請輸入您的 AWS 認證。 -
選擇 [建立使用者集區] 按鈕。您可能需要從左側導覽窗格中選取 [使用者集區],以顯示此選項。
-
在頁面右上角,選擇 Create a user pool (建立使用者集區),以開始建立使用者集區精靈。
-
在 [設定登入體驗] 中,您可以選擇要用於此使用者集區的身分識別提供者 (IdPs)。如需詳細資訊,請參閱 透過第三方新增使用者集區登入。
-
在驗證提供者下,對於提供者類型,請確保僅選取 Cognito 使用者集區。
-
在 Cognito 使用者集區登入選項中,選擇 [使用者名稱]。請勿選取任何其他使用者名稱要求。
-
保留所有其他選項為預設值,然後選擇「下一步」。
-
-
在 [設定安全性需求] 中,您可以選擇密碼原則、多重要素驗證 (MFA) 需求,以及使用者帳戶復原選項。如需詳細資訊,請參閱 使用 Amazon Cognito 使用者集區安全性功能。
-
對於密碼原則,請確認密碼原則模式設定為 Cognito 預設值。
-
在多因素驗證下,對於 MFA 強制,請選擇選擇性 MFA。
-
對於 MFA 方法,請選擇驗證器應用程式和 SMS 訊息。
-
對於使用者帳戶復原,請確認已選取 [啟用自助帳戶復原],且使用者帳戶復原郵件傳遞方法設定為 [僅限電子郵件]。
-
保留所有其他選項為預設值,然後選擇「下一步」。
-
-
在 [設定註冊體驗] 中,您可以決定新使用者在以新使用者身分註冊時如何驗證其身分,以及在使用者註冊流程期間,哪些屬性應為必要或選用屬性。如需詳細資訊,請參閱 管理使用者集區中的使用者。
-
確認已選取 「啟用自助註冊」。此設定會開啟您的使用者集區,以便從網際網路上的任何人進行註冊。這是用於範例應用程式的目的,但在生產環境中請謹慎套用此設定。
-
在「Cognito 協助驗證與確認」下,確認已選取「允許 Cognito 自動傳送訊息以進行驗證並確認」核取方塊。
-
確認要驗證的屬性設定為傳送電子郵件訊息,驗證電子郵件地址。
-
在 [驗證屬性變更] 下,確認已選取預設選項:選取更新處於擱置狀態時保留原始屬性值,以及將更新擱置時的 Active 屬性值設定為 [電子郵件地址]。
-
在必要屬性下,確認根據先前選取的必要屬性顯示電子郵件。
重要
對於此示例應用程序,您的用戶池不得將 phone_number 設置為必需屬性。如果 phone_number 顯示為必要屬性,請檢閱並更新您先前的選擇:
-
可選 MFA,僅用於用戶帳戶恢復消息的傳遞方法的電子郵件
-
發送電子郵件,驗證要驗證屬性的電子郵件地址
-
-
保留所有其他選項為預設值,然後選擇「下一步」。
-
-
在設定訊息傳遞中,您可以設定與 Amazon 簡單電子郵件服務和 Amazon 簡單通知服務的整合,以傳送電子郵件和簡訊給使用者以進行註冊、帳戶確認、MFA 和帳戶復原。如需詳細資訊,請參閱 Amazon Cognito 使用者集區的電子郵件設定 及 SMSAmazon Cognito 使用者集區的訊息設定。
-
對於電子郵件提供者,請選擇「使用 Cognito 傳送電子郵件」,並使用 Amazon Cognito 提供的預設電子郵件寄件者。這個低電子郵件量的設定已足以進行應用程式測試。您可以在使用 Amazon 簡易電子郵件服務 (Amazon SES) 驗證電子郵件地址並選擇使用 Amazon SES 傳送電子郵件後退貨。
-
對於 SMS,請選取建立新的 IAM 角色,然後輸入 IAM 角色名稱。這會建立一個角色,授予 Amazon Cognito 許可以傳送簡訊的權限。
-
保留所有其他選項為預設值,然後選擇「下一步」。
-
-
在「整合您的應用程式」中,您可以為使用者集區命名、設定託管 UI,以及建立應用程式用戶端。如需詳細資訊,請參閱 使用託管 UI 添加應用程序客戶端。範例應用程式不使用託管 UI。
-
在 [使用者集區名稱] 下,輸入使用者集區名稱。
-
請勿選取 [使用 Cognito 託管的使用者介面]。
-
在初始應用程序客戶端下,確認應用程序類型設置為公共客戶端。
-
在 [用戶端密碼] 下,確認已選取 [不產生用戶端密碼]。
-
輸入 App client name (應用程式用戶端名稱)。
-
展開進階應用程式用戶端設定 新增
ALLOW_USER_PASSWORD_AUTH
至驗證流程清單。 -
保留所有其他選項為預設值,然後選擇「下一步」。
-
-
在「檢閱並建立」畫面中檢閱您的選擇,並視需要修改任何選取項目。如果您對使用者集區設定感到滿意,請選擇 [建立使用者集區] 以繼續。
-
在 [使用者集區] 頁面中,選擇新的使用者集區。
-
在使用者集區概觀下,記下您的使用者集區 ID。您將在建立範例應用程式時提供此字串。
-
選擇「應用程式整合」標籤,然後找到「應用程式用戶端和分析」 選取新的應用程式用戶端。記下您的客戶 ID。
相關資源
建立應用程式
若要建立範例安卓應用程式
-
安裝 Android 工作室
和命令列工具 。 -
在安卓工作室中,安裝撲插件
。 -
從此示例應
用程序中的 cognito_flutter_mobile_app
目錄內容創建一個新的 Android 工作室項目。-
編輯
assets/config.json
<<YOUR USER POOL ID>>
和<< YOUR CLIENT ID>>
取代您先前建立的使用者集區和應用程式用戶端的 ID。
-
-
安裝撲
。 -
添加撲到您的 PATH 變量。
-
使用下列命令接受授權。
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 工作室圖形用戶界面中,使用設備管理器創建一個新設備
。 -
在 CLI 中,執行
flutter emulators --create --name android-device
。
-
-
啟動您的虛擬安卓設備。
-
在 Android 工作室圖形用戶界面中,選擇虛擬設備
旁邊的開始圖標。
-
在 CLI 中,執行
flutter emulators --launch android-device
。
-
-
在虛擬設備上啟動您的應用程序。
-
在安卓工作室圖形用戶界面中,選擇部署
圖標。
-
在 CLI 中,執行
flutter run
。
-
-
在 Android 工作室中導航到正在運行的虛擬設備。
-
使用有效的電子郵件地址註冊新用戶。
-
從您的電子郵件中檢索確認代碼。在應用程序中輸入確認代碼。
-
使用您的用戶名和密碼登錄。