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