排解常見的憑證管理工具錯誤

本指南列出與 Credential Manager 相關的常見錯誤代碼和說明,並提供有關原因的部分資訊。

錯誤代碼和說明 原因

android.os.TransactionTooLargeException

這是因為已知的問題:在裝置上有多個 Google 帳戶時,Android 14 以上版本的 credentialManager.getCredential() API 無法顯示登入對話方塊。這個問題只會發生在 GetGoogleIdOption 中,而不會發生在 GetSignInWithGoogleOption 中。Google Play 服務 24.40.XX 以上版本已修正這個問題。

CreateCredentialCancellationExceptionGetCredentialCancellationException

使用者已取消密碼金鑰註冊或擷取作業。

使用者選擇不建立或使用憑證。您現在可以調整使用者介面,提供其他登入方式,或繼續執行程序中的下一個步驟。

CreateCredentialCustomExceptionGetCredentialCustomException

使用第三方 SDK 搭配要求物件 (為 CreateCustomCredentialRequestGetCustomCredentialOption 的子類別) 發出 API 呼叫時,您可能會遇到錯誤。如果發生這種情況,請檢查 SDK 是否有與 e.type 相符的自訂例外狀況類型常數。如果找不到相符項目,您可以放心地捨棄或記錄例外狀況。

CreateCredentialInterruptedExceptionGetCredentialInterruptedException

使用者可能已前往設定重新設定密碼管理工具,因此作業可能中斷。其他原因也可能導致服務中斷。請再試一次。

CreateCredentialUnknownException

儲存密碼時,輕觸一下即可找到密碼失敗回應 16:[28431] Android 自動填入功能可能會提示使用者,因此略過密碼儲存程序。

只有在 Google 是指定的自動填入提供者時,這項錯誤才會影響 Android 13 以下版本。在這類情況下,自動填入功能會向使用者顯示儲存提示,並將密碼儲存在 Google 密碼管理工具中。重要的是,透過 Google 自動填入功能儲存的憑證會與 Credential Manager API 雙向同步。因此,您可以放心忽略這個錯誤。

CreatePublicKeyCredentialDomException 和 GetPublicKeyCredentialDomException

DOM 例外狀況可能包含更具體的 domError。您可以將其對應至 WebAuthn DomException,進一步瞭解詳情。

CreatePublicKeyCredentialDomException 和 GetPublicKeyCredentialDomException

無法驗證傳入要求。

密碼管理工具的伺服器無法辨識應用程式的套件 ID。這表示伺服器端整合作業可能有問題,特別是數位資產連結設定。仔細檢查資產連結檔案中的套件 ID 和 SHA 是否正確。

CreatePublicKeyCredentialDomException

無法在註冊時建立金鑰

當使用者在註冊期間關閉螢幕鎖定對話方塊時,就可能發生這個問題。

CreatePublicKeyDomException & GetPublicKeyCredentialDomException

使用者已取消密碼金鑰註冊

使用者已取消密碼金鑰擷取作業。

如果使用者在註冊 / 擷取密碼金鑰期間關閉指紋對話方塊,可能會發生這個問題。

GetCredentialProviderConfigurationException 和 CreateCredentialProviderConfigurationException

getCredentialAsync 找不到任何提供者依附元件

createCredentialAsync 找不到提供者依附元件

缺少 androidx.credentials:credentials-play-services-auth:<latest-version> 依附元件。

GetCredentialUnsupportedExceptionCreateCredentialUnsupportedException

裝置不支援憑證管理工具

確認您的憑證程式庫已更新至 1.2.1 以上版本。

GetPublicKeyCredentialException

無法解密憑證

當您登出 Google 帳戶後,再嘗試使用密碼金鑰登入時,就會發生這個問題。請使用者在裝置上重新登入 Google 帳戶。

NoCredentialException

找不到相符的憑證

裝置上找不到相符的憑證。如果使用者先前未儲存任何憑證,系統就會預期發生這種情況。

加密資料已鎖定,因此無法建立密碼金鑰

使用者需要重設 Chrome 伺服器端資料。這類資料包括書籤、Chrome 設定,以及已儲存的密碼和密碼金鑰。如要進一步瞭解 Chrome 儲存的資料,請前往「您帳戶中的 Chrome 資料」頁面。

  1. 前往 chrome.google.com/sync
  2. 選取底部的「清除資料」
  3. 在裝置上開啟 Chrome 的同步功能

On Begin Sign In Failure: 8:未知的內部錯誤。

裝置可能尚未使用 Google 帳戶進行妥善設定。 密碼金鑰 JSON 的建立方式可能有問題。仔細檢查導入方式是否正確。

無法取得同步帳戶

Google Play 服務 24.40.XX 以上版本會提供更詳盡的錯誤代碼。舉例來說,呼叫端現在會收到取消錯誤訊息,而非「無法取得同步帳戶」。