共用方式為


使用原生驗證在範例 Android (Kotlin) 應用程式中登入使用者

適用於帶有白色核取記號符號的綠色圓圈,表示下列內容適用於外部租用戶。 外部租用戶 (深入瞭解

在本快速入門中,您將瞭解如何使用 Entra 的 Microsoft 原生驗證,執行示範註冊、登入、註銷和密碼重設案例的 Android 範例應用程式。

先決條件

啟用公用用戶端和原生驗證流程

若要指定此應用程式是公用用戶端,而且可以使用原生驗證,請啟用公用用戶端和原生驗證流程:

  1. 從 [應用程式註冊] 頁面中,選取您要啟用公用用戶端和原生驗證流程的應用程式註冊。
  2. 在 [管理] 下,選取 [驗證]。
  3. 在 [進階設定下,允許公用用戶端流程:
    1. 針對 [啟用下列行動和桌面流程 選取 [是]
    2. 針對 啟用原生驗證,請選擇
  4. 選取 [儲存] 按鈕

複製範例 Android 行動應用程式

  1. 開啟 [終端機],然後流覽至您要保留程式代碼的目錄。

  2. 執行下列命令,從 GitHub 複製應用程式:

    git clone https://github.com/Azure-Samples/ms-identity-ciam-native-auth-android-sample 
    

設定範例 Android 行動應用程式

  1. 在 Android Studio 中,開啟您複製的專案。

  2. 開啟 app/src/main/res/raw/native_auth_sample_app_config.json 檔案。

  3. 尋找佔位符:

    • Enter_the_Application_Id_Here,並將它取代為您稍早註冊之應用程式的 應用程式(用戶端)標識碼
    • Enter_the_Tenant_Subdomain_Here,並將它取代為 Directory (tenant) 子域。 例如,如果您的租戶主要網域為 contoso.onmicrosoft.com,則請使用 contoso。 如果您不知道租戶子網域,請瞭解如何 查看租戶的詳細資訊

您現在已設定應用程式,且已準備好執行。

執行及測試範例 Android 行動應用程式

若要建置並執行您的應用程式,請遵循下列步驟:

  1. 在工具列中,從 [執行組態] 功能選取您的應用程式。

  2. 在目標裝置功能表中,選取您要執行應用程式的裝置。

    如果您沒有設定任何裝置,您必須建立 Android 虛擬設備以使用 Android 模擬器或連線實體 Android 裝置。

  3. 選取 [執行] 按鈕。 應用程式會開啟 [電子郵件] & OTP 頁面。

    使用者提示在Android應用程式中輸入電子郵件的螢幕快照。

  4. 輸入有效的電子郵件地址,然後選取 [註冊] 按鈕。 應用程式會開啟送出代碼畫面,並在電子郵件中收到 OTP 代碼。

    使用者提示在Android應用程式中輸入單次密碼的螢幕快照。

  5. 輸入您在電子郵件收件匣中收到的 OTP 代碼,然後選取 [下一步] 。 如果註冊成功,應用程式會自動登入。 如果您未在電子郵件收件匣中收到 OTP 代碼,您可以選取 [重新傳送密碼],在一段時間後重新傳送密碼。

  6. 若要註銷,請選取 [註銷] 按鈕。

此範例支援的其他案例

這個範例應用程式也支援下列驗證流程:

  • 電子郵件 + 密碼 涵蓋使用具有密碼的電子郵件登入或註冊流程。
  • 電子郵件 + 密碼註冊與使用者屬性 涵蓋使用電子郵件和密碼註冊,以及提交用戶屬性。
  • 密碼重設 涵蓋自助式密碼重設 (SSPR)。
  • 存取受保護的 API 涵蓋在使用者成功註冊或登入並取得存取令牌之後,呼叫受保護的 API。
  • 網頁瀏覽器的後援 涵蓋當使用者因故無法透過原生驗證完成驗證時,使用瀏覽器型驗證作為後援機制。

使用密碼流程測試電子郵件

在本節中,您會測試使用密碼的電子郵件流程及其不同變體,例如:包括使用者屬性註冊密碼的電子郵件和 SSPR。

  1. 使用 建立使用者流程 中的步驟來建立新的使用者流程,但這次請選取 [以密碼 電子郵件] 作為驗證方法。 您必須將 國家/地區City 設定為用戶屬性。 或者,您可以修改現有的使用者流程,以使用具有密碼 電子郵件(選取 [外部身分識別]>[使用者流程],>SignInSignUpSample>Identity providers>email with password>Save]。

  2. 使用步驟 將應用程式與新的使用者流程 產生關聯,以將應用程式新增到您的新使用者流程中。

  3. 執行範例應用程式,然後選取省略號功能表 (...), 以開啟更多選項。

  4. 選取您想要測試的案例,例如 電子郵件 + 密碼電子郵件 + 密碼註冊,使用使用者屬性密碼重設,然後遵循提示。 若要測試 密碼重設,您必須先註冊一位用戶,然後 啟用您佃戶中的所有使用者的電子郵件一次性密碼

測試呼叫受保護的 API 流程

使用 中的步驟,透過範例 Android 行動應用程式中的原生驗證,來呼叫受保護的 Web API,從範例 Android 行動應用程式呼叫受保護的 Web API。

啟用別名或使用者名稱登入

您可以允許使用電子郵件地址和密碼登入的使用者也使用使用者名稱和密碼登入。 使用者名稱也稱為替代登入識別碼,可以是客戶 ID、帳號,或你選擇使用的其他識別碼作為使用者名稱。

你可以透過 Microsoft Entra 管理中心手動為使用者帳號指派使用者名稱,或透過 Microsoft Graph API 在您的應用程式中自動執行此操作。

請使用「 以別名或使用者名稱登入 」文章中的步驟,讓你的使用者能在應用程式中使用使用者名登入:

  1. 登入時啟用使用者名稱
  2. 管理中心建立使用者名稱,或透過新增使用者名稱更新現有使用者。 另外,你也可以 使用 Microsoft Graph API 自動化應用程式中的使用者建立與更新

後續步驟