在 Android 應用程式中加入登入工作流程,藉此保護使用者資料,並控管應用程式功能和資料的存取權,確保應用程式、資料和使用者安全無虞。
- 保護使用者資料。驗證功能可保護應用程式的使用者資料,防止未經授權的存取行為。要求使用者登入,有助於確保使用者只取得他們有權存取的資訊。
- 協助防範詐欺行為。再加上身分驗證搭配身分驗證,就能讓攻擊者更難建立詐欺性帳戶,或在未經授權的情況下存取現有帳戶。
- 改善使用者體驗:簡化的驗證工作流程可減少使用者註冊與登入,進而存取自己的資料和服務。
- 遵守法規。登入工作流程符合需要驗證以保護資料的法規。
驗證
如要為應用程式新增驗證方式,大部分的 Android 專案都應使用 Credential Manager。Credential Manager 是現代化的 Jetpack 程式庫,可將大部分的主要驗證方法整合至應用程式中,包括密碼金鑰、密碼,以及「使用 Google 帳戶登入」等聯合解決方案。相較於 One Tap 等舊版驗證 API,Credential Manager 的優點包括:
- 輕鬆整合:Credential Manager 可讓您使用單一整合式 API 導入大部分主要驗證選項。
- 改善使用者體驗:Credential Manager 的整合式登入介面可讓使用者享有明確、熟悉且一致的體驗,減少使用者流失,並提升註冊和登入速度。
- 輕觸 Google 登入與註冊:可以設定 Credential Manager,要求使用者建立或登入 Google 帳戶,並透過應用程式內容內嵌的對話方塊,因此使用者絕不會透過註冊畫面離開內容。減少註冊或登入的阻礙,可提升使用者註冊或登入應用程式的成功率。
- 強化安全性:從密碼遷移至無密碼驗證有助於減少攻擊向量、簡化使用者新手上路流程,並提高應用程式的安全性。Credential Manager 可支援使用密碼金鑰的無密碼驗證機制。
- 提升靈活性:Credential Manager 可與現有的驗證供應商整合,或是自行開發驗證程序。
Credential Manager 會自動顯示現代驗證方法的整合底部功能表,並取代現有驗證方式,包括 Android 密碼專用 Smart Lock 和 One Tap。
進一步瞭解如何使用 Credential Manager 在 Android 應用程式中建構驗證:
- 透過 Credential Manager 讓使用者登入
- 運用密碼金鑰驗證使用者體驗指南
- 將 Credential Manager 與「使用 Google 帳戶登入」功能整合
- 將 Credential Manager 與 WebView 整合
- Android 學習課程的密碼金鑰
瞭解如何將目前的驗證流程遷移至 Credential Manager:
瞭解如何簡化現有的身分識別及驗證 API,以便支援密碼金鑰並透過 Credential Manager API 提高可用性:
自動填入
密碼管理工具等應用程式會將使用者提供的資料,填入其他應用程式的檢視畫面。這類將資料填入其他應用程式檢視畫面的應用程式稱為自動填入服務。自動填入架構會管理應用程式和自動填入服務之間的通訊,並節省填寫欄位的時間,並盡量減少使用者輸入錯誤,進而改善使用者體驗。由於自動填入支援密碼管理工具,因此可以建議使用者選取強度較高的憑證,例如密碼金鑰或機器產生的專屬密碼。這些憑證可以安全儲存及擷取,而且更加順暢。
進一步瞭解 Android 的自動填入架構:
生物特徵辨識
將生物特徵辨識驗證功能整合至應用程式,進一步提升安全性。生物特徵辨識驗證 (尤其是多重驗證配置的一部分) 可確保憑證真實且可驗證屬於目標使用者,藉此降低詐欺曝光的風險。生物特徵辨識驗證可透過下列方式改善使用者體驗:
- 可加快登入速度
- 讓憑證驗證過程更順暢
- 減少密碼用量
- 可能有助於遵守法規。
進一步瞭解如何實作生物特徵辨識驗證。