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