التعامل مع أخطاء مصادقة منصات Firebase Apple
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
إذا تلقّت دالة معاودة الاتصال الخاصة بالإكمال في طرق 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 (انتقِل إلى علامة التبويب الأمان > المصادقة > طريقة تسجيل الدخول).
يشير إلى محاولة إلغاء ربط مقدّم خدمة غير مرتبط بالحساب.
FIRAuthErrorCodeRequiresRecentLogin
تعديل عنوان البريد الإلكتروني هو عملية حساسة تتعلّق بالأمان وتتطلّب تسجيل دخول حديث من المستخدم. يشير هذا الخطأ إلى أنّ المستخدم لم يسجّل الدخول مؤخرًا. لحلّ هذه المشكلة، أعِد مصادقة المستخدم عن طريق استدعاء reauthenticateWithCredential:completion: على FIRUser.
sendEmailVerificationWithCompletion:
الرمز
الهدف وراء طلب البحث
FIRAuthErrorCodeUserNotFound
تشير إلى أنّه لم يتم العثور على حساب المستخدم.
deleteWithCompletion:
الرمز
الهدف وراء طلب البحث
FIRAuthErrorCodeRequiresRecentLogin
حذف حساب مستخدم هو عملية حساسة من ناحية الأمان وتتطلّب تسجيل دخول حديث من المستخدم. يشير هذا الخطأ إلى أنّ المستخدم لم يسجّل الدخول مؤخرًا. لحلّ هذه المشكلة، أعِد مصادقة المستخدم عن طريق استدعاء reauthenticateWithCredential:completion: على FIRUser.
تاريخ التعديل الأخير: 2026-06-28 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","easyToUnderstand","thumb-up"],["ساعَدني المحتوى في حلّ مشكلتي.","solvedMyProblem","thumb-up"],["غير ذلك","otherUp","thumb-up"]],[["لا يحتوي على المعلومات التي أحتاج إليها.","missingTheInformationINeed","thumb-down"],["الخطوات معقدة للغاية / كثيرة جدًا.","tooComplicatedTooManySteps","thumb-down"],["المحتوى قديم.","outOfDate","thumb-down"],["ثمة مشكلة في الترجمة.","translationIssue","thumb-down"],["مشكلة في العيّنات / التعليمات البرمجية","samplesCodeIssue","thumb-down"],["غير ذلك","otherDown","thumb-down"]],["تاريخ التعديل الأخير: 2026-06-28 (حسب التوقيت العالمي المتفَّق عليه)"],[],[]]