認証情報マネージャーの一般的なエラーのトラブルシューティング

このガイドでは、Credential Manager に関連する一般的なエラーコードとその説明を一覧表示し、その原因に関する情報を提供します。

エラーコードと説明 原因

android.os.TransactionTooLargeException

これは、Android 14 以降の credentialManager.getCredential() API で、デバイスに複数の Google アカウントが存在する場合にログイン ダイアログが表示されないという既知の問題が原因です。この問題は、GetSignInWithGoogleOption ではなく GetGoogleIdOption で発生します。この問題は、Google Play 開発者サービス バージョン 24.40.XX 以降で修正されています。

CreateCredentialCancellationException

パスキーの登録または取得がユーザーによってキャンセルされました。

ユーザーが認証情報を作成または使用しないことを選択しました。これで、代替のログイン方法を提供したり、プロセスの次のステップに進んだりするように UI を調整できます。

GetCredentialCancellationException

必要なユーザー認証を取得できなかったため、認証情報の取得プロセスが終了しました。これは通常、ユーザーが手動でログインフローをキャンセルした場合に発生しますが、技術的な制約によりリクエストが承認されなかったことを示す場合もあります。このエラーは同意がないことを示しているため、リクエストを自動的に再試行しないでください。ユーザー エクスペリエンスが低下する可能性があります。ただし、デベロッパーはこの例外の頻度をモニタリングする必要があります。「キャンセル」の数が多すぎる場合は、実際には、認証 UI が正常に完了しないようにする構成ミス(スコープの欠落や誤りなど)を示している可能性があります。予期しない傾向が見られた場合は、リクエスト パラメータと [証明書利用者][2] の構成を確認します。

注: エラー メッセージは、認証情報の種類によって異なります。

  • パスキーの場合、エラー メッセージは「パスキーの登録または取得がユーザーによってキャンセルされました」になることがあります。
  • Google でログインの場合、エラー メッセージは「アクティビティがユーザーによってキャンセルされました」になることがあります。

CreateCredentialCustomException または GetCredentialCustomException

サードパーティ SDK を使用して、CreateCustomCredentialRequest または GetCustomCredentialOption をサブクラス化するリクエスト オブジェクトで API 呼び出しを行うと、エラーが発生することがあります。この場合は、e.type に一致するカスタム例外型の定数がないか SDK を確認してください。一致するものが見つからない場合は、例外を破棄するか、ログに記録しても安全です。

CreateCredentialInterruptedException または GetCredentialInterruptedException

ユーザーが設定に移動してパスワード マネージャーを再設定したため、オペレーションが中断された可能性があります。その他の理由も中断の原因となっている可能性があります。もう一度お電話ください。

CreateCredentialUnknownException

パスワードの保存中に、ワンタップでパスワード エラーの応答が表示されます。16: [28431] ユーザーが Android 自動入力でプロンプトを表示する可能性が高いため、パスワードの保存をスキップします。

このエラーの影響を受けるのは、Android 13 以前のバージョンで、Google が自動入力プロバイダに指定されている場合のみです。このような場合、ユーザーには自動入力の保存プロンプトが表示され、パスワードが Google パスワード マネージャーに保存されます。重要なのは、Google 自動入力を使用して保存された認証情報は、Credential Manager API と双方向で同期されるということです。そのため、このエラーは無視してかまいません。

CreatePublicKeyCredentialDomException と GetPublicKeyCredentialDomException

DOM 例外には、より具体的な domError が含まれている可能性があります。詳しくは、WebAuthn DomException にマッピングしてください。

CreatePublicKeyCredentialDomException と GetPublicKeyCredentialDomException

受信リクエストを検証できません。

パスワード マネージャーのサーバーがアプリのパッケージ ID を認識していません。これは、サーバーサイドの統合、特にデジタル アセット リンクの設定に問題がある可能性を示しています。アセットリンク ファイル内のパッケージ ID と SHA の正確性を再確認します。

CreatePublicKeyCredentialDomException:

登録中にキーを作成できない

この問題は、登録中に画面ロックのダイアログを閉じると発生する可能性があります。

CreateCredentialNoCreateOptionException

この例外は、有効なパスワード マネージャーが設定されていないことを示します。このエラーは、ユーザーが手動でキャンセル フローを開始したのではなく、別のエラーです。

CreatePublicKeyDomException と GetPublicKeyCredentialDomException

パスキーの登録がユーザーによってキャンセルされました。

パスキーの取得がユーザーによってキャンセルされました。

この問題は、ユーザーがパスキーの登録 / 取得中に指紋認証ダイアログを閉じると発生する可能性があります。

GetCredentialProviderConfigurationException と CreateCredentialProviderConfigurationException

getCredentialAsync でプロバイダの依存関係が見つからない

createCredentialAsync でプロバイダの依存関係が見つからない

androidx.credentials:credentials-play-services-auth:<latest-version> 依存関係がありません。

GetCredentialUnsupportedException または CreateCredentialUnsupportedException

お使いのデバイスは認証情報マネージャーに対応していません

認証情報ライブラリがバージョン 1.2.1 以降に更新されていることを確認します。

GetPublicKeyCredentialException

認証情報の復号に失敗しました

この問題は、Google アカウントからログアウトして再度ログインした後にパスキーを使用しようとすると発生します。デバイスで Google アカウントに再度ログインするようお客様に伝えます。

NoCreateOptionException

この例外は、デバイスにパスキー認証情報が設定されていない場合や、パスワード マネージャーが設定されていない場合に想定される動作です。

NoCredentialException

一致する認証情報が見つかりません

この例外は、次のような状況で発生します。

  • デバイスに承認済みアカウントがない状態で setFilterByAuthorizedAccounts が true に設定されている。
  • デバイスにログインしているアカウントがない(アカウントが追加されていないか、アカウントの再認証が必要)。
  • デバイス上のいずれかのアカウントでログイン プロンプトが無効になっている場合、ボトムシート UI は表示されません。Google アカウントの設定 > Google でログイン にあるこのグローバル設定は、任意のアカウントでボトムシート UI を表示するために有効にする必要があります。ボタンのフローには影響しません。

暗号化されたデータがロックされているため、パスキーを作成できない

ユーザーは Chrome のサーバーサイド データをリセットする必要があります。このデータには、保存されているパスワードとパスキーに加えて、ブックマークや Chrome の設定も含まれます。Chrome で保存されるデータについて詳しくは、アカウント内の Chrome のデータをご覧ください。

  1. chrome.google.com/sync にアクセスします。
  2. 下部にある [データを削除] を選択します。
  3. デバイスの Chrome で同期をオンにします。

開始時のログインエラー: 8: 不明な内部エラーです。

デバイスが Google アカウントで適切にセットアップされていない可能性があります。パスキー JSON の作成方法に問題がある可能性があります。実装が正確であることを再確認します。

同期アカウントを取得できません

Google Play 開発者サービス バージョン 24.40.XX 以降では、より有益なエラーコードが提供されます。たとえば、「同期アカウントを取得できません」ではなく、呼び出し元にキャンセル エラー メッセージが返されるようになります。