Catch up on everything we announced at this year's Firebase Summit. Learn more

معالجة أخطاء مصادقة أنظمة Firebase Apple الأساسية

إذا كان رد إنجاز على أساليب المصادقة يتلقى 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: و updatePassword:completion: على FIRUser .

UninkFromProvider: إكمال:

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

إرسال بريد إلكتروني التحقق مع الإكمال:

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

deleteWithCompletion:

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