ترجمت واجهة Cloud Translation API‏ هذه الصفحة.
Switch to English

تعامل مع أخطاء مصادقة Firebase iOS

إذا تلقى استدعاء الاستكمال على أساليب المصادقة وسيطة NSError ليست صفرية ، فقد حدث خطأ. للإرسال إلى منطق معالجة الأخطاء المناسب في رمز الإنتاج ، تحقق من رمز الخطأ في مقابل الأخطاء الشائعة والأخطاء الخاصة بالطريقة المدرجة أدناه.

يمكن حل بعض الأخطاء من خلال إجراءات مستخدم معينة ، على سبيل المثال ، يمكن حل FIRAuthErrorCodeUserTokenExpired دخول المستخدم مرة أخرى ، و FIRAuthErrorCodeWrongPassword عن طريق مطالبة المستخدم بتوفير كلمة المرور الصحيحة.

باستثناء حالة FIRAuthErrorCodeNetworkError أو FIRAuthErrorCodeTooManyRequests ، لن تنجح إعادة محاولة العملية الفاشلة بنفس الوسيطات. لا تفترض ما إذا كانت العملية نافذة المفعول من جانب الخادم أم لا.

عند التحقق من الأخطاء أو userInfo ، userInfo قاموس userInfo . يحتوي FIRAuthErrorNameKey على سلسلة اسم خطأ عبر النظام الأساسي والتي يمكن استخدامها لتعريف الخطأ. يحتوي NSLocalizedDescriptionKey على وصف الخطأ. هذا الوصف مخصص للمطور وليس للمستخدم. يحتوي NSUnderlyingErrorKey على الخطأ الأساسي الذي تسبب في الخطأ المعني ، في حالة وجود خطأ أساسي.

بالإضافة إلى الحقول الرئيسية المذكورة أعلاه ، يمكن أن تكون هناك حقول أخرى في قاموس userInfo قد تجدها مفيدة عند تشخيص الأخطاء.

رموز الخطأ الشائعة لجميع طرق API

الشفرة المعنى
FIRAuthErrorCodeNetworkError يشير إلى حدوث خطأ في الشبكة أثناء العملية.
FIRAuthErrorCodeUserNotFound يشير إلى أنه لم يتم العثور على حساب المستخدم. يمكن أن يحدث هذا إذا تم حذف حساب المستخدم.
FIRAuthErrorCodeUserTokenExpired يشير إلى انتهاء الرمز المميز للمستخدم الحالي ، على سبيل المثال ، ربما قام المستخدم بتغيير كلمة مرور الحساب على جهاز آخر. يجب مطالبة المستخدم بتسجيل الدخول مرة أخرى على هذا الجهاز.
FIRAuthErrorCodeTooManyRequests يشير إلى حظر الطلب بعد إجراء عدد غير طبيعي من الطلبات من جهاز المتصل إلى خوادم مصادقة Firebase. أعد المحاولة مرة أخرى بعد مرور بعض الوقت.
FIRAuthErrorCodeInvalidAPIKey يشير إلى أنه تم تكوين التطبيق باستخدام مفتاح API غير صالح.
FIRAuthErrorCodeAppNotAuthorized يشير إلى أن التطبيق غير مصرح له باستخدام مصادقة Firebase مع مفتاح API المقدم. انتقل إلى وحدة تحكم واجهة برمجة تطبيقات Google وتحقق ضمن علامة تبويب بيانات الاعتماد من أن مفتاح واجهة برمجة التطبيقات الذي تستخدمه يحتوي على معرف حزمة التطبيق الخاص بك في القائمة البيضاء.
FIRAuthErrorCodeKeychainError يشير إلى حدوث خطأ عند الوصول إلى سلسلة المفاتيح. و NSLocalizedFailureReasonErrorKey و NSUnderlyingErrorKey الحقول في NSError.userInfo سيحتوي القاموس مزيد من المعلومات حول الخطأ واجهتها.
FIRAuthErrorCodeInternalError يشير إلى حدوث خطأ داخلي. يرجى الإبلاغ عن الخطأ مع كائن NSError بأكمله.

رموز الخطأ الخاصة بالطريقة

FIRAuth

fetchProvidersForEmail: إكمال:

الشفرة المعنى
FIRAuthErrorCodeInvalidEmail يشير إلى أن عنوان البريد الإلكتروني غير صحيح.

تسجيل الدخول مع البريد الإلكتروني: كلمة المرور: إكمال:

الشفرة المعنى
FIRAuthErrorCodeOperationNotAllowed يشير إلى أن حسابات البريد الإلكتروني وكلمة المرور غير ممكّنة. قم بتمكينها في قسم المصادقة في وحدة تحكم Firebase .
FIRAuthErrorCodeInvalidEmail يشير إلى أن عنوان البريد الإلكتروني غير صحيح.
FIRAuthErrorCodeUserDisabled يشير إلى تعطيل حساب المستخدم.
FIRAuthErrorCodeWrongPassword يشير إلى أن المستخدم حاول تسجيل الدخول بكلمة مرور خاطئة.

تسجيل الدخول مع الاعتماد: إكمال:

الشفرة المعنى
FIRAuthErrorCodeInvalidCredential يشير إلى أن بيانات الاعتماد المقدمة غير صالحة. يمكن أن يحدث هذا إذا انتهت صلاحيته أو كان تالفًا.
FIRAuthErrorCodeInvalidEmail يشير إلى أن عنوان البريد الإلكتروني غير صحيح ، إذا كانت بيانات الاعتماد من النوع EmailPasswordAuthCredential .
FIRAuthErrorCodeOperationNotAllowed يشير إلى أن الحسابات مع موفر الهوية ممثلة ببيانات الاعتماد غير ممكّنة. قم بتمكينها في قسم المصادقة في وحدة تحكم Firebase .
FIRAuthErrorCodeEmailAlreadyInUse يشير إلى أن البريد الإلكتروني الذي تم تأكيده بواسطة بيانات الاعتماد (مثل البريد الإلكتروني الموجود في رمز وصول إلى Facebook) قيد الاستخدام بالفعل بواسطة حساب موجود ، ولا يمكن مصادقته باستخدام طريقة تسجيل الدخول هذه. اتصل بـ fetchProvidersForEmail للبريد الإلكتروني لهذا المستخدم ، ثم اطلب fetchProvidersForEmail تسجيل الدخول باستخدام أي من موفري تسجيل الدخول الذين عادوا. سيتم طرح هذا الخطأ فقط إذا تم تمكين إعداد "حساب واحد لكل عنوان بريد إلكتروني" في وحدة تحكم Firebase ، ضمن إعدادات المصادقة.
FIRAuthErrorCodeUserDisabled يشير إلى تعطيل حساب المستخدم.
FIRAuthErrorCodeWrongPassword يشير إلى محاولة المستخدم تسجيل الدخول بكلمة مرور خاطئة ، إذا كانت بيانات الاعتماد من النوع EmailPasswordAuthCredential .

تسجيل الدخول مجهول مع الاكتمال:

الشفرة المعنى
FIRAuthErrorCodeOperationNotAllowed يشير إلى أن الحسابات المجهولة غير ممكّنة. قم بتمكينها في قسم المصادقة في وحدة تحكم Firebase .

تسجيل الدخول مع CustomToken: إكمال:

الشفرة المعنى
FIRAuthErrorCodeInvalidCustomToken يشير إلى خطأ في التحقق مع الرمز المخصص.
FIRAuthErrorCodeCustomTokenMismatch يشير إلى أن حساب الخدمة ومفتاح API ينتمون إلى مشاريع مختلفة.

createUserWithEmail: كلمة المرور: إكمال:

الشفرة المعنى
FIRAuthErrorCodeInvalidEmail يشير إلى أن عنوان البريد الإلكتروني غير صحيح.
FIRAuthErrorCodeEmailAlreadyInUse يشير إلى البريد الإلكتروني المستخدم لمحاولة التسجيل موجود بالفعل. اتصل بـ fetchProvidersForEmail للتحقق من آليات تسجيل الدخول التي يستخدمها هذا المستخدم ، fetchProvidersForEmail من المستخدم تسجيل الدخول بإحدى هذه الآليات.
FIRAuthErrorCodeOperationNotAllowed يشير إلى أن حسابات البريد الإلكتروني وكلمة المرور غير ممكّنة. قم بتمكينها في قسم المصادقة في وحدة تحكم Firebase .
FIRAuthErrorCodeWeakPassword يشير إلى محاولة تعيين كلمة مرور تعتبر ضعيفة جدًا. NSLocalizedFailureReasonErrorKey حقل NSLocalizedFailureReasonErrorKey في كائن قاموس NSError.userInfo على شرح أكثر تفصيلاً يمكن عرضه للمستخدم.

خروج:

الشفرة المعنى
FIRAuthErrorCodeKeychainError أشارت إلى حدوث خطأ عند الوصول إلى سلسلة المفاتيح. و NSLocalizedFailureReasonErrorKey و NSUnderlyingErrorKey الحقول في NSError.userInfo سيحتوي القاموس مزيد من المعلومات حول الخطأ واجهتها.

FIRUser

الأخطاء الشائعة لعمليات FIRUser

الشفرة المعنى
FIRAuthErrorCodeInvalidUserToken يشير إلى أن رمز التحديث الخاص بالمستخدم الذي قام بتسجيل الدخول ، والذي يحمل معلومات الجلسة ، غير صالح. يجب مطالبة المستخدم بتسجيل الدخول مرة أخرى على هذا الجهاز.
FIRAuthErrorCodeUserDisabled يشير إلى تعطيل حساب المستخدم ولا يمكن استخدامه حتى يتم تمكينه مرة أخرى من داخل لوحة Users في وحدة تحكم Firebase.

إعادة المصادقة مع الاعتماد: إكمال:

الشفرة المعنى
FIRAuthErrorCodeInvalidCredential يشير إلى أن بيانات الاعتماد المقدمة غير صالحة. يمكن أن يحدث هذا إذا انتهت صلاحيته أو كان تالفًا.
FIRAuthErrorCodeInvalidEmail يشير إلى أن عنوان البريد الإلكتروني غير صحيح ، إذا كانت بيانات الاعتماد من النوع EmailPasswordAuthCredential .
FIRAuthErrorCodeWrongPassword يشير إلى محاولة المستخدم إعادة المصادقة بكلمة مرور غير صحيحة ، إذا كانت بيانات الاعتماد من النوع EmailPasswordAuthCredential .
FIRAuthErrorCodeUserMismatch يشير إلى أنه جرت محاولة لإعادة المصادقة مع مستخدم ليس المستخدم الحالي.
FIRAuthErrorCodeOperationNotAllowed يشير إلى أن الحسابات مع موفر الهوية ممثلة ببيانات الاعتماد غير ممكّنة. قم بتمكينها في قسم المصادقة في وحدة تحكم Firebase .
FIRAuthErrorCodeEmailAlreadyInUse يشير إلى أن البريد الإلكتروني الذي تم تأكيده بواسطة بيانات الاعتماد (مثل البريد الإلكتروني الموجود في رمز وصول إلى Facebook) قيد الاستخدام بالفعل من قبل حساب موجود ، ولا يمكن إعادة مصادقته باستخدام طريقة تسجيل الدخول هذه. اتصل بـ fetchProvidersForEmail للبريد الإلكتروني لهذا المستخدم ، ثم اطلب fetchProvidersForEmail تسجيل الدخول باستخدام أي من مزودي تسجيل الدخول الذين تم إرجاعهم. سيتم طرح هذا الخطأ فقط إذا تم تمكين إعداد "حساب واحد لكل عنوان بريد إلكتروني" في وحدة تحكم Firebase ، ضمن إعدادات المصادقة.
FIRAuthErrorCodeUserDisabled يشير إلى تعطيل حساب المستخدم.

تحديث البريد الإلكتروني: الانتهاء:

الشفرة المعنى
FIRAuthErrorCodeEmailAlreadyInUse يشير إلى أن البريد الإلكتروني قيد الاستخدام بالفعل من قبل حساب آخر.
FIRAuthErrorCodeInvalidEmail يشير إلى أن عنوان البريد الإلكتروني غير صحيح.
FIRAuthErrorCodeRequiresRecentLogin يعد تحديث البريد الإلكتروني للمستخدم عملية حساسة للأمان تتطلب تسجيل دخول حديث من المستخدم. يشير هذا الخطأ إلى أن المستخدم لم يقم بتسجيل الدخول مؤخرًا بشكل كافٍ. لحل المشكلة ، أعد مصادقة المستخدم من خلال استدعاء reauthenticateWithCredential:completion: على FIRUser .

تحديث كلمة المرور: إكمال:

الشفرة المعنى
FIRAuthErrorCodeOperationNotAllowed يشير إلى قيام المسؤول بتعطيل تسجيل الدخول باستخدام موفر الهوية المحدد.
FIRAuthErrorCodeRequiresRecentLogin يعد تحديث كلمة مرور المستخدم عملية حساسة للأمان تتطلب تسجيل دخول حديث من المستخدم. يشير هذا الخطأ إلى أن المستخدم لم يقم بتسجيل الدخول مؤخرًا بشكل كافٍ. لحل المشكلة ، أعد مصادقة المستخدم من خلال استدعاء reauthenticateWithCredential:completion: على FIRUser .
FIRAuthErrorCodeWeakPassword يشير إلى محاولة تعيين كلمة مرور تعتبر ضعيفة جدًا. NSLocalizedFailureReasonErrorKey حقل NSLocalizedFailureReasonErrorKey في كائن قاموس NSError.userInfo على شرح أكثر تفصيلاً يمكن عرضه للمستخدم.

linkWithCredential: إكمال:

الشفرة المعنى
FIRAuthErrorCodeProviderAlreadyLinked يشير إلى محاولة ربط موفر من نوع مرتبط بالفعل بهذا الحساب.
FIRAuthErrorCodeCredentialAlreadyInUse يشير إلى محاولة الارتباط ببيانات اعتماد تم ربطها بالفعل بحساب Firebase مختلف.
FIRAuthErrorCodeOperationNotAllowed يشير إلى أن الحسابات مع موفر الهوية ممثلة ببيانات الاعتماد غير ممكّنة. قم بتمكينها في قسم المصادقة في وحدة تحكم Firebase .

قد تُرجع هذه الطريقة أيضًا رموز الخطأ المرتبطة updateEmail:completion: و updatePassword:completion: على FIRUser .

unlockinkFromProvider: إكمال:

الشفرة المعنى
FIRAuthErrorCodeNoSuchProvider يشير إلى محاولة إلغاء ربط مزود غير مرتبط بالحساب.
FIRAuthErrorCodeRequiresRecentLogin يعد تحديث البريد الإلكتروني عملية حساسة للأمان تتطلب تسجيل دخول حديث من المستخدم. يشير هذا الخطأ إلى أن المستخدم لم يقم بتسجيل الدخول مؤخرًا بشكل كافٍ. لحل المشكلة ، أعد مصادقة المستخدم من خلال استدعاء reauthenticateWithCredential:completion: على FIRUser .

sendEmailVerificationWithCompletion:

الشفرة المعنى
FIRAuthErrorCodeUserNotFound يشير إلى أنه لم يتم العثور على حساب المستخدم.

deleteWithCompletion:

الشفرة المعنى
FIRAuthErrorCodeRequiresRecentLogin يعد حذف حساب المستخدم عملية حساسة للأمان تتطلب تسجيل دخول حديث من المستخدم. يشير هذا الخطأ إلى أن المستخدم لم يقم بتسجيل الدخول مؤخرًا بشكل كافٍ. لحل المشكلة ، أعد مصادقة المستخدم من خلال استدعاء reauthenticateWithCredential:completion: على FIRUser .