عیب یابی خطاهای رایج Credential Manager

این راهنما کدهای خطای رایج و توضیحات مربوط به Credential Manager را فهرست می‌کند و اطلاعاتی در مورد علل آنها ارائه می‌دهد.

کد خطا و توضیحات علت

خطای android.os.TransactionTooLargeException

این مشکل به دلیل یک مشکل شناخته‌شده ایجاد می‌شود که در آن API credentialManager.getCredential() در اندروید ۱۴ و بالاتر، در صورت وجود چندین حساب گوگل در دستگاه، نمی‌تواند کادر محاوره‌ای ورود به سیستم را نمایش دهد. این مشکل به‌طور خاص با GetGoogleIdOption و نه GetSignInWithGoogleOption مشاهده می‌شود. این مشکل در سرویس‌های گوگل پلی نسخه ۲۴.۴۰.XX و بالاتر برطرف شده است.

استثنای لغو اعتبارنامه (CreateCredentialCancelationException)

ثبت یا بازیابی رمز عبور توسط کاربر لغو شده است.

کاربر تصمیم گرفته است که اعتبارنامه‌ای ایجاد یا استفاده نکند. اکنون می‌توانید رابط کاربری خود را طوری تنظیم کنید که یک روش ورود جایگزین ارائه دهد یا به مراحل بعدی فرآیند خود بروید.

GetCredentialCancelationException

فرآیند بازیابی اعتبارنامه به دلیل عدم کسب مجوز لازم برای کاربر، متوقف شده است. اگرچه این اتفاق معمولاً زمانی رخ می‌دهد که کاربر به صورت دستی جریان ورود به سیستم را لغو می‌کند، اما می‌تواند نشان دهد که درخواست به دلیل محدودیت‌های فنی مجاز نبوده است. از آنجا که این خطا نشان‌دهنده عدم رضایت است، درخواست را به طور خودکار دوباره امتحان نکنید، زیرا این امر یک تجربه کاربری مختل‌کننده ایجاد می‌کند. با این حال، توسعه‌دهندگان باید فراوانی این استثنا را زیر نظر داشته باشند. حجم بالای "لغوها" در واقع ممکن است نشان‌دهنده پیکربندی نادرست - مانند محدوده از دست رفته یا نادرست - باشد که مانع از تکمیل موفقیت‌آمیز رابط کاربری مجوز می‌شود. اگر متوجه روندهای غیرمنتظره‌ای شدید، پارامترهای درخواست و پیکربندی [طرف متکی][2] خود را بررسی کنید.

توجه: پیام خطا می‌تواند بسته به نوع اعتبارنامه متفاوت باشد:

  • برای کلیدهای عبور، پیام خطا می‌تواند به صورت «ثبت یا بازیابی کلید عبور توسط کاربر لغو شد» باشد.
  • برای ورود با گوگل، پیام خطا می‌تواند «فعالیت توسط کاربر لغو شده است» باشد.

ایجاد استثنای اعتبار سفارشی یا دریافت استثنای اعتبار سفارشی

هنگام استفاده از یک SDK شخص ثالث برای برقراری فراخوانی‌های API با یک شیء درخواست که زیرکلاس‌های CreateCustomCredentialRequest یا GetCustomCredentialOption را دارد، ممکن است با خطا مواجه شوید. در این صورت، SDK را برای یافتن ثابت‌های نوع استثنای سفارشی که با e.type مطابقت دارند، بررسی کنید. اگر هیچ تطابقی پیدا نشد، می‌توانید استثنا را حذف یا ثبت کنید.

خطای CreateCredentialInterruptedException یا خطای GetCredentialInterruptedException

ممکن است عملیات به دلیل مراجعه کاربر به تنظیمات برای پیکربندی مجدد مدیران رمز عبور قطع شده باشد. دلایل دیگری نیز ممکن است در این وقفه نقش داشته باشد. لطفاً دوباره تماس را امتحان کنید.

خطای CreateCredentialUnknownException

هنگام ذخیره رمز عبور، با یک ضربه، پاسخ عدم موفقیت رمز عبور مشاهده شد ۱۶: [۲۸۴۳۱] از ذخیره رمز عبور صرف نظر می‌شود زیرا احتمالاً از کاربر خواسته می‌شود فرم را با Android Autofill پر کند.

این خطا فقط در اندروید ۱۳ و نسخه‌های قبل از آن، زمانی که گوگل ارائه‌دهنده‌ی Autofill باشد، تأثیر می‌گذارد. در چنین مواردی، کاربران از Autofill یک پیام ذخیره دریافت می‌کنند و رمز عبور در Google Password Manager ذخیره می‌شود. نکته‌ی مهم این است که اعتبارنامه‌های ذخیره‌شده با استفاده از Autofill با گوگل، به‌صورت دوطرفه با API Credential Manager همگام‌سازی می‌شوند. بنابراین، می‌توان با خیال راحت از این خطا صرف‌نظر کرد.

استثنای CreatePublicKeyCredentialDomException و استثنای GetPublicKeyCredentialDomException

احتمالاً خطای DOM شامل یک domError خاص‌تر است. برای جزئیات بیشتر می‌توانید آن را به یک WebAuthn DomException نگاشت کنید.

استثنای CreatePublicKeyCredentialDomException و استثنای GetPublicKeyCredentialDomException

درخواست ورودی قابل تأیید نیست.

سرور مدیر رمز عبور، شناسه بسته برنامه را تشخیص نمی‌دهد. این موضوع به یک مشکل بالقوه در ادغام سمت سرور شما، به ویژه تنظیم پیوند دارایی دیجیتال ، اشاره دارد. دقت شناسه بسته و SHA را در فایل پیوند دارایی خود دوباره بررسی کنید.

استثنای CreatePublicKeyCredentialDom :

ایجاد کلید در حین ثبت نام امکان‌پذیر نیست

این مشکل می‌تواند زمانی ایجاد شود که کاربر هنگام ثبت نام، پنجره قفل صفحه را نادیده بگیرد.

استثنای CreateCredentialNoCreateOption

این استثنای خاص نشان می‌دهد که کاربر یک مدیر رمز عبور معتبر پیکربندی نکرده است. این خطا مربوط به جریان لغو دستی آغاز شده توسط کاربر نیست، بلکه یک خطای جداگانه است.

استثنای CreatePublicKeyDom و استثنای GetPublicKeyCredentialDom

ثبت رمز عبور توسط کاربر لغو شد.

بازیابی رمز عبور توسط کاربر لغو شد.

این مشکل می‌تواند زمانی ایجاد شود که کاربر هنگام ثبت/دریافت رمز عبور، پنجره‌ی محاوره‌ای اثر انگشت را نادیده بگیرد.

استثنای GetCredentialProviderConfigurationException و استثنای CreateCredentialProviderConfigurationException

هیچ وابستگی ارائه دهنده ای برای getCredentialAsync یافت نشد

هیچ وابستگی ارائه دهنده ای در createCredentialAsync یافت نشد

وابستگی androidx.credentials:credentials-play-services-auth:<latest-version> وجود ندارد.

GetCredentialUnsupportedException یا CreateCredentialUnsupportedException

دستگاه شما از مدیریت اعتبارنامه پشتیبانی نمی‌کند

مطمئن شوید که کتابخانه اعتبارنامه‌های شما به نسخه ۱.۲.۱ یا بالاتر به‌روزرسانی شده است.

استثنای GetPublicKeyCredential

رمزگشایی اعتبارنامه ناموفق بود

این مشکل هنگام تلاش برای استفاده از کلید عبور پس از خروج و بازگشت به حساب‌های گوگل رخ می‌دهد. به کاربر خود دستور دهید که دوباره به حساب گوگل خود در دستگاه خود وارد شود.

استثنای NoCreateOption

این استثنا زمانی قابل پیش‌بینی است که کاربر هیچ رمز عبوری روی دستگاه خود تنظیم نکرده باشد، یا اگر مدیر رمز عبور را پیکربندی نکرده باشد.

بدون استثنای اعتبارنامه

هیچ اعتبارنامه‌ی منطبقی یافت نشد

این استثنا در شرایط زیر ایجاد می‌شود:

  • بدون وجود حساب‌های کاربری مجاز روی دستگاه، setFilterByAuthorizedAccounts روی مقدار true تنظیم شده است.
  • هیچ حساب کاربری وارد شده‌ای در دستگاه وجود ندارد (هیچ حسابی اضافه نشده است یا حساب‌ها نیاز به احراز هویت مجدد دارند).
  • اگر درخواست‌های ورود برای هر حسابی در دستگاه غیرفعال باشد، رابط کاربری صفحه پایینی نمایش داده نمی‌شود. این تنظیم سراسری که در تنظیمات حساب گوگل > ورود با گوگل قرار دارد، باید برای نمایش رابط کاربری صفحه پایینی برای هر حسابی فعال باشد. این موضوع تاثیری بر جریان دکمه‌ها ندارد.

به دلیل قفل شدن داده‌های رمزگذاری شده، امکان ایجاد رمز عبور وجود ندارد

کاربر باید داده‌های سمت سرور کروم خود را بازنشانی کند. این داده‌ها علاوه بر رمزهای عبور و کلیدهای عبور ذخیره شده، شامل نشانک‌ها و تنظیمات کروم نیز می‌شود. برای اطلاعات بیشتر در مورد داده‌هایی که کروم ذخیره می‌کند، به داده‌های کروم در حساب خود مراجعه کنید.

  1. به chrome.google.com/sync بروید.
  2. در پایین، گزینه پاک کردن داده‌ها (Clear Data) را انتخاب کنید.
  3. در دستگاه، همگام‌سازی را در Chrome روشن کنید .

هنگام شروع ورود، خطای ورود رخ داد: ۸ : خطای داخلی ناشناخته.

ممکن است دستگاه به درستی با حساب گوگل تنظیم نشده باشد. ممکن است مشکلی در نحوه ایجاد کلید عبور JSON وجود داشته باشد. صحت پیاده‌سازی را دوباره بررسی کنید.

همگام‌سازی حساب امکان‌پذیر نیست

نسخه ۲۴.۴۰.XX و بالاتر سرویس‌های گوگل پلی کدهای خطای آموزنده‌تری ارائه می‌دهند. برای مثال، به جای «Unable to get sync account»، تماس‌گیرندگان اکنون پیام خطای لغو دریافت می‌کنند.