إذا تلقّت دالة معاودة الاتصال الخاصة بالإكمال في طرق Authentication الوسيطة NSError غير فارغة، يعني ذلك حدوث خطأ. لإرسال الخطأ إلى منطق معالجة الأخطاء المناسب في رمز الإنتاج، تحقَّق من رمز الخطأ مقارنةً بالأخطاء الشائعة والأخطاء الخاصة بالطريقة المدرَجة أدناه.
يمكن حلّ بعض الأخطاء من خلال إجراءات معيّنة يتّخذها المستخدم، على سبيل المثال، يمكن حلّ الخطأ FIRAuthErrorCodeUserTokenExpired من خلال تسجيل دخول المستخدم مرة أخرى، وحلّ الخطأ FIRAuthErrorCodeWrongPassword من خلال مطالبة المستخدم بتقديم كلمة المرور الصحيحة.
باستثناء حالة FIRAuthErrorCodeNetworkError أو FIRAuthErrorCodeTooManyRequests، لن تنجح أبدًا إعادة محاولة تنفيذ عملية فاشلة باستخدام الوسيطات نفسها. لا تفترض ما إذا كانت العملية قد تم تنفيذها على مستوى الخادم أم لا.
عند التحقيق في الأخطاء أو تسجيلها، راجِع قاموس userInfo.
يحتوي FIRAuthErrorNameKey على سلسلة اسم خطأ متوافق مع عدة منصات يمكن استخدامها لتحديد الخطأ.
يتضمّن NSLocalizedDescriptionKey وصفًا للخطأ. هذا الوصف مخصّص للمطوّر وليس للمستخدم.
يمثّل NSUnderlyingErrorKey الخطأ الأساسي الذي تسبّب في حدوث الخطأ المعنيّ، إذا كان هناك خطأ أساسي.
بالإضافة إلى الحقول الرئيسية المذكورة أعلاه، يمكن أن تتضمّن قاموس userInfo حقولاً أخرى قد تكون مفيدة عند تشخيص الأخطاء.
رموز الخطأ الشائعة في جميع طرق واجهة برمجة التطبيقات
| الرمز |
الهدف وراء طلب البحث |
FIRAuthErrorCodeNetworkError |
يشير إلى حدوث خطأ في الشبكة أثناء العملية. |
FIRAuthErrorCodeUserNotFound |
تشير إلى أنّه لم يتم العثور على حساب المستخدم. قد يحدث ذلك إذا تم حذف حساب المستخدم. |
FIRAuthErrorCodeUserTokenExpired |
تشير إلى أنّ الرمز المميّز للمستخدم الحالي قد انتهت صلاحيته، على سبيل المثال، ربما غيّر المستخدم كلمة مرور الحساب على جهاز آخر. عليك أن تطلب من المستخدم تسجيل الدخول مرة أخرى على هذا الجهاز. |
FIRAuthErrorCodeTooManyRequests |
تشير إلى أنّه تم حظر الطلب بعد تقديم عدد غير طبيعي من الطلبات من جهاز المتصل إلى خوادم Firebase Authentication. يُرجى إعادة المحاولة بعد مرور بعض الوقت. |
FIRAuthErrorCodeInvalidAPIKey |
تشير إلى أنّه تم إعداد التطبيق باستخدام مفتاح غير صالح لواجهة برمجة التطبيقات. |
FIRAuthErrorCodeAppNotAuthorized |
يشير إلى أنّ التطبيق غير مصرّح له باستخدام مصادقة Firebase مع مفتاح واجهة برمجة التطبيقات المقدَّم. انتقِل إلى Google API Console وتأكَّد من أنّ معرّف حزمة تطبيقك مُدرَج في القائمة البيضاء ضمن علامة التبويب "بيانات الاعتماد" لمفتاح واجهة برمجة التطبيقات الذي تستخدمه. |
FIRAuthErrorCodeKeychainError |
يشير إلى حدوث خطأ أثناء الوصول إلى سلسلة المفاتيح. سيتضمّن الحقلان NSLocalizedFailureReasonErrorKey وNSUnderlyingErrorKey في قاموس NSError.userInfo مزيدًا من المعلومات حول الخطأ الذي حدث. |
FIRAuthErrorCodeInternalError |
يشير إلى حدوث خطأ داخلي. يُرجى الإبلاغ عن الخطأ مع كائن NSError بأكمله. |
رموز الخطأ الخاصة بالطريقة
FIRAuth
fetchProvidersForEmail:completion:
| الرمز |
الهدف وراء طلب البحث |
FIRAuthErrorCodeInvalidEmail |
يشير إلى أنّ عنوان البريد الإلكتروني مكتوب بشكل غير صحيح. |
signInWithEmail:password:completion:
| الرمز |
الهدف وراء طلب البحث |
FIRAuthErrorCodeOperationNotAllowed |
يشير إلى أنّه لم يتم تفعيل حسابات البريد الإلكتروني وكلمة المرور. يمكنك تفعيلها في وحدة تحكّم Firebase (انتقِل إلى علامة التبويب الأمان > المصادقة > طريقة تسجيل الدخول). |
FIRAuthErrorCodeInvalidEmail |
يشير إلى أنّ عنوان البريد الإلكتروني مكتوب بشكل غير صحيح. |
FIRAuthErrorCodeUserDisabled |
تشير إلى أنّ حساب المستخدم غير مفعّل. |
FIRAuthErrorCodeWrongPassword |
تشير إلى أنّ المستخدم حاول تسجيل الدخول باستخدام كلمة مرور غير صحيحة. |
signInWithCredential:completion:
| الرمز |
الهدف وراء طلب البحث |
FIRAuthErrorCodeInvalidCredential |
تشير إلى أنّ بيانات الاعتماد المقدَّمة غير صالحة. قد يحدث ذلك إذا انتهت صلاحيته أو كان غير صالح. |
FIRAuthErrorCodeInvalidEmail |
تشير إلى أنّ عنوان البريد الإلكتروني غير صالح، إذا كانت بيانات الاعتماد من النوع EmailPasswordAuthCredential. |
FIRAuthErrorCodeOperationNotAllowed |
تشير إلى أنّ الحسابات التي تستخدم موفّر الهوية الممثَّل ببيانات الاعتماد غير مفعَّلة. يمكنك تفعيلها في وحدة تحكّم Firebase (انتقِل إلى علامة التبويب الأمان > المصادقة > طريقة تسجيل الدخول). |
FIRAuthErrorCodeEmailAlreadyInUse |
تشير إلى أنّ عنوان البريد الإلكتروني الذي تم تأكيده من خلال بيانات الاعتماد (مثل عنوان البريد الإلكتروني في رمز دخول Facebook) مستخدَم حاليًا من خلال حساب حالي لا يمكن مصادقته باستخدام طريقة تسجيل الدخول هذه. استدعِ fetchProvidersForEmail لعنوان البريد الإلكتروني لهذا المستخدم، ثم اطلب منه تسجيل الدخول باستخدام أي من موفّري تسجيل الدخول الذين تم عرضهم. لن يظهر هذا الخطأ إلا إذا تم تفعيل الخيار "حساب واحد لكل عنوان بريد إلكتروني" في وحدة تحكّم Firebase (انتقِل إلى علامة التبويب الأمان > المصادقة > الإعدادات). |
FIRAuthErrorCodeUserDisabled |
تشير إلى أنّ حساب المستخدم غير مفعّل. |
FIRAuthErrorCodeWrongPassword |
تشير إلى أنّ المستخدم حاول تسجيل الدخول باستخدام كلمة مرور غير صحيحة، إذا كانت بيانات الاعتماد من النوع EmailPasswordAuthCredential. |
signInAnonymouslyWithCompletion:
| الرمز |
الهدف وراء طلب البحث |
FIRAuthErrorCodeOperationNotAllowed |
تشير إلى أنّه لم يتم تفعيل الحسابات المجهولة. يمكنك تفعيلها في وحدة تحكّم Firebase (انتقِل إلى علامة التبويب الأمان > المصادقة > طريقة تسجيل الدخول). |
signInWithCustomToken:completion:
| الرمز |
الهدف وراء طلب البحث |
FIRAuthErrorCodeInvalidCustomToken |
يشير إلى حدوث خطأ في عملية التحقّق من الرمز المميز المخصّص. |
FIRAuthErrorCodeCustomTokenMismatch |
تشير إلى أنّ حساب الخدمة ومفتاح واجهة برمجة التطبيقات ينتميان إلى مشروعَين مختلفَين. |
createUserWithEmail:password:completion:
| الرمز |
الهدف وراء طلب البحث |
FIRAuthErrorCodeInvalidEmail |
يشير إلى أنّ عنوان البريد الإلكتروني مكتوب بشكل غير صحيح. |
FIRAuthErrorCodeEmailAlreadyInUse |
يشير إلى أنّ عنوان البريد الإلكتروني المستخدَم لمحاولة الاشتراك متوفّر مسبقًا. اتّصِل بالرقم fetchProvidersForEmail للتحقّق من آليات تسجيل الدخول التي استخدمها هذا المستخدم، واطلب منه تسجيل الدخول باستخدام إحدى هذه الآليات. |
FIRAuthErrorCodeOperationNotAllowed |
يشير إلى أنّه لم يتم تفعيل حسابات البريد الإلكتروني وكلمة المرور. يمكنك تفعيلها في وحدة تحكّم Firebase (انتقِل إلى علامة التبويب الأمان > المصادقة > طريقة تسجيل الدخول). |
FIRAuthErrorCodeWeakPassword |
تشير إلى محاولة ضبط كلمة مرور تُعتبر ضعيفة جدًا. سيتضمّن الحقل NSLocalizedFailureReasonErrorKey في عنصر قاموس NSError.userInfo شرحًا أكثر تفصيلاً يمكن عرضه للمستخدم. |
signOut:
| الرمز |
الهدف وراء طلب البحث |
FIRAuthErrorCodeKeychainError |
يشير إلى حدوث خطأ عند الوصول إلى تطبيق Keychain. سيتضمّن الحقلان NSLocalizedFailureReasonErrorKey وNSUnderlyingErrorKey في قاموس NSError.userInfo مزيدًا من المعلومات حول الخطأ الذي حدث. |
FIRUser
الأخطاء الشائعة في عمليات FIRUser
| الرمز |
الهدف وراء طلب البحث |
FIRAuthErrorCodeInvalidUserToken |
تشير إلى أنّ الرمز المميز لإعادة تحميل الصفحة الخاص بالمستخدم الذي سجّل الدخول، والذي يتضمّن معلومات الجلسة، غير صالح. عليك أن تطلب من المستخدم تسجيل الدخول مرة أخرى على هذا الجهاز. |
FIRAuthErrorCodeUserDisabled |
تشير إلى أنّ حساب المستخدم غير مفعّل ولم يعُد بالإمكان استخدامه إلى أن يتم تفعيله مرة أخرى في وحدة تحكّم Firebase (انتقِل إلى علامة التبويب الأمان > المصادقة > المستخدمون). |
reauthenticateWithCredential:completion:
| الرمز |
الهدف وراء طلب البحث |
FIRAuthErrorCodeInvalidCredential |
تشير إلى أنّ بيانات الاعتماد المقدَّمة غير صالحة. قد يحدث ذلك إذا انتهت صلاحيته أو كان غير صالح. |
FIRAuthErrorCodeInvalidEmail |
تشير إلى أنّ عنوان البريد الإلكتروني غير صالح، إذا كانت بيانات الاعتماد من النوع EmailPasswordAuthCredential. |
FIRAuthErrorCodeWrongPassword |
تشير إلى أنّ المستخدم حاول إعادة المصادقة باستخدام كلمة مرور غير صحيحة، إذا كانت بيانات الاعتماد من النوع EmailPasswordAuthCredential. |
FIRAuthErrorCodeUserMismatch |
يشير إلى أنّه تمت محاولة إعادة المصادقة باستخدام حساب مستخدم آخر غير الحساب الحالي. |
FIRAuthErrorCodeOperationNotAllowed |
تشير إلى أنّ الحسابات التي تستخدم موفّر الهوية الممثَّل ببيانات الاعتماد غير مفعَّلة. فعِّلها في وحدة تحكّم Firebase (انتقِل إلى الأمان > المصادقة). |
FIRAuthErrorCodeEmailAlreadyInUse |
يشير إلى أنّ عنوان البريد الإلكتروني الذي تم تأكيده من خلال بيانات الاعتماد (مثل عنوان البريد الإلكتروني في رمز دخول Facebook) مستخدَم حاليًا من خلال حساب حالي لا يمكن إعادة مصادقته باستخدام طريقة تسجيل الدخول هذه. استدعِ fetchProvidersForEmail لعنوان البريد الإلكتروني لهذا المستخدم، ثم اطلب منه تسجيل الدخول باستخدام أي من موفّري تسجيل الدخول الذين تم عرضهم. لن يظهر هذا الخطأ إلا إذا تم تفعيل الخيار "حساب واحد لكل عنوان بريد إلكتروني" في وحدة تحكّم Firebase (انتقِل إلى علامة التبويب الأمان > المصادقة > الإعدادات). |
FIRAuthErrorCodeUserDisabled |
تشير إلى أنّ حساب المستخدم غير مفعّل. |
updateEmail:completion:
| الرمز |
الهدف وراء طلب البحث |
FIRAuthErrorCodeEmailAlreadyInUse |
تشير إلى أنّ عنوان البريد الإلكتروني مستخدَم من قِبل حساب آخر. |
FIRAuthErrorCodeInvalidEmail |
يشير إلى أنّ عنوان البريد الإلكتروني مكتوب بشكل غير صحيح. |
FIRAuthErrorCodeRequiresRecentLogin |
تعديل عنوان البريد الإلكتروني للمستخدم هو عملية حساسة من ناحية الأمان وتتطلّب تسجيل دخول حديث من المستخدم. يشير هذا الخطأ إلى أنّ المستخدم لم يسجّل الدخول مؤخرًا. لحلّ هذه المشكلة، أعِد مصادقة المستخدم عن طريق استدعاء reauthenticateWithCredential:completion: على FIRUser. |
updatePassword:completion:
| الرمز |
الهدف وراء طلب البحث |
FIRAuthErrorCodeOperationNotAllowed |
يشير إلى أنّ المشرف أوقف إمكانية تسجيل الدخول باستخدام موفِّر الهوية المحدّد. |
FIRAuthErrorCodeRequiresRecentLogin |
تعديل كلمة مرور المستخدم هو عملية حساسة من ناحية الأمان وتتطلّب تسجيل دخول حديث من المستخدم. يشير هذا الخطأ إلى أنّ المستخدم لم يسجّل الدخول مؤخرًا. لحلّ هذه المشكلة، أعِد مصادقة المستخدم عن طريق استدعاء reauthenticateWithCredential:completion: على FIRUser. |
FIRAuthErrorCodeWeakPassword |
تشير إلى محاولة ضبط كلمة مرور تُعتبر ضعيفة جدًا. سيتضمّن الحقل NSLocalizedFailureReasonErrorKey في عنصر قاموس NSError.userInfo شرحًا أكثر تفصيلاً يمكن عرضه للمستخدم. |
linkWithCredential:completion:
| الرمز |
الهدف وراء طلب البحث |
FIRAuthErrorCodeProviderAlreadyLinked |
يشير إلى محاولة ربط مقدّم خدمة من نوع سبق ربطه بهذا الحساب. |
FIRAuthErrorCodeCredentialAlreadyInUse |
يشير إلى محاولة الربط ببيانات اعتماد سبق ربطها بحساب آخر على Firebase. |
FIRAuthErrorCodeOperationNotAllowed |
تشير إلى أنّ الحسابات التي تستخدم موفّر الهوية الممثَّل ببيانات الاعتماد غير مفعَّلة. يمكنك تفعيلها في وحدة تحكّم Firebase (انتقِل إلى علامة التبويب الأمان > المصادقة > طريقة تسجيل الدخول). |
قد تعرض هذه الطريقة أيضًا رموز خطأ مرتبطة بـ
updateEmail:completion: و
updatePassword:completion: على FIRUser.
unlinkFromProvider:completion:
| الرمز |
الهدف وراء طلب البحث |
FIRAuthErrorCodeNoSuchProvider |
يشير إلى محاولة إلغاء ربط مقدّم خدمة غير مرتبط بالحساب. |
FIRAuthErrorCodeRequiresRecentLogin |
تعديل عنوان البريد الإلكتروني هو عملية حساسة تتعلّق بالأمان وتتطلّب تسجيل دخول حديث من المستخدم. يشير هذا الخطأ إلى أنّ المستخدم لم يسجّل الدخول مؤخرًا. لحلّ هذه المشكلة، أعِد مصادقة المستخدم عن طريق استدعاء reauthenticateWithCredential:completion: على FIRUser. |
sendEmailVerificationWithCompletion:
| الرمز |
الهدف وراء طلب البحث |
FIRAuthErrorCodeUserNotFound |
تشير إلى أنّه لم يتم العثور على حساب المستخدم. |
deleteWithCompletion:
| الرمز |
الهدف وراء طلب البحث |
FIRAuthErrorCodeRequiresRecentLogin |
حذف حساب مستخدم هو عملية حساسة من ناحية الأمان وتتطلّب تسجيل دخول حديث من المستخدم. يشير هذا الخطأ إلى أنّ المستخدم لم يسجّل الدخول مؤخرًا. لحلّ هذه المشكلة، أعِد مصادقة المستخدم عن طريق استدعاء reauthenticateWithCredential:completion: على FIRUser. |