رفع خطاهای Firebase Apple Platforms Auth
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
اگر فراخوانی تکمیل در متدهای Authentication ، آرگومان NSError غیر nil دریافت کند، خطایی رخ داده است. برای ارسال به منطق مدیریت خطای مناسب در کد تولید خود، کد خطا را با خطاهای رایج و خطاهای خاص متد ذکر شده در زیر بررسی کنید.
برخی از خطاها را میتوان با اقدامات خاص کاربر برطرف کرد، برای مثال، FIRAuthErrorCodeUserTokenExpired میتوان با ورود مجدد کاربر و FIRAuthErrorCodeWrongPassword میتوان با درخواست رمز عبور صحیح از کاربر برطرف کرد.
به جز در مواردی که خطای FIRAuthErrorCodeNetworkError یا FIRAuthErrorCodeTooManyRequests رخ میدهد، تلاش مجدد برای اجرای یک عملیات ناموفق با همان آرگومانها هرگز موفقیتآمیز نخواهد بود. هیچ فرضی در مورد اینکه آیا عملیات در سمت سرور اعمال شده است یا خیر، نداشته باشید.
هنگام بررسی یا ثبت خطاها، دیکشنری userInfo را بررسی کنید. FIRAuthErrorNameKey حاوی یک رشته نام خطای چند پلتفرمی است که میتواند برای شناسایی خطا استفاده شود. NSLocalizedDescriptionKey حاوی توضیحی از خطا است. این توضیح برای توسعهدهنده در نظر گرفته شده است، نه کاربر. NSUnderlyingErrorKey شامل خطای اصلی است که باعث ایجاد خطای مورد نظر شده است، البته اگر خطای اصلی وجود داشته باشد.
علاوه بر فیلدهای اصلی ذکر شده در بالا، فیلدهای دیگری نیز میتوانند در دیکشنری userInfo وجود داشته باشند که ممکن است هنگام تشخیص خطاها مفید باشند.
کدهای خطای رایج در همه متدهای API
کد
معنی
FIRAuthErrorCodeNetworkError
نشان میدهد که در حین عملیات، خطای شبکه رخ داده است.
FIRAuthErrorCodeUserNotFound
نشان میدهد که حساب کاربری پیدا نشد. این اتفاق ممکن است در صورت حذف حساب کاربری رخ دهد.
FIRAuthErrorCodeUserTokenExpired
نشان میدهد که توکن کاربر فعلی منقضی شده است، برای مثال، ممکن است کاربر رمز عبور حساب را در دستگاه دیگری تغییر داده باشد. شما باید از کاربر بخواهید که دوباره در این دستگاه وارد سیستم شود.
FIRAuthErrorCodeTooManyRequests
نشان میدهد که درخواست پس از ارسال تعداد غیرعادی درخواست از دستگاه تماسگیرنده به سرورهای Firebase Authentication مسدود شده است. پس از مدتی دوباره امتحان کنید.
FIRAuthErrorCodeInvalidAPIKey
نشان میدهد که برنامه با یک کلید API نامعتبر پیکربندی شده است.
FIRAuthErrorCodeAppNotAuthorized
نشان میدهد که برنامه مجاز به استفاده از احراز هویت Firebase با کلید API ارائه شده نیست. به کنسول API گوگل بروید و در زیر تب اعتبارنامهها بررسی کنید که کلید API که استفاده میکنید، شناسه بسته برنامه شما در لیست سفید باشد.
FIRAuthErrorCodeKeychainError
نشان دهندهی خطایی است که هنگام دسترسی به keychain رخ داده است. فیلدهای NSLocalizedFailureReasonErrorKey و NSUnderlyingErrorKey در دیکشنری NSError.userInfo حاوی اطلاعات بیشتری در مورد خطای رخ داده خواهند بود.
FIRAuthErrorCodeInternalError
نشان دهندهی وقوع یک خطای داخلی است. لطفاً خطا را به همراه کل شیء NSError گزارش دهید.
کدهای خطای خاص روش
FIRAuth
تکمیل fetchProvidersForEmail:
کد
معنی
FIRAuthErrorCodeInvalidEmail
نشان میدهد که آدرس ایمیل ناقص است.
signInWithEmail:password:completion:
کد
معنی
FIRAuthErrorCodeOperationNotAllowed
نشان میدهد که حسابهای ایمیل و رمز عبور فعال نیستند. آنها را در کنسول Firebase فعال کنید (به برگه Security > Authentication > Sign-in method بروید).
FIRAuthErrorCodeInvalidEmail
نشان میدهد که آدرس ایمیل ناقص است.
FIRAuthErrorCodeUserDisabled
نشان میدهد که حساب کاربری غیرفعال است.
FIRAuthErrorCodeWrongPassword
نشان میدهد که کاربر با رمز عبور اشتباه سعی در ورود به سیستم داشته است.
signInWithCredential: تکمیل:
کد
معنی
FIRAuthErrorCodeInvalidCredential
نشان میدهد که اعتبارنامه ارائه شده نامعتبر است. این اتفاق میتواند در صورت منقضی شدن یا ناقص بودن آن رخ دهد.
FIRAuthErrorCodeInvalidEmail
اگر اعتبارنامه از نوع EmailPasswordAuthCredential باشد، نشان میدهد که آدرس ایمیل ناقص است.
FIRAuthErrorCodeOperationNotAllowed
نشان میدهد که حسابهای کاربری با ارائهدهنده هویتی که با اعتبارنامه نمایش داده میشود، فعال نیستند. آنها را در کنسول Firebase فعال کنید (به برگه Security > Authentication > Sign-in method بروید).
FIRAuthErrorCodeEmailAlreadyInUse
نشان میدهد که ایمیلی که توسط اعتبارنامه (مثلاً ایمیل موجود در یک توکن دسترسی فیسبوک) ادعا شده است، در حال حاضر توسط یک حساب کاربری موجود در حال استفاده است که نمیتوان آن را با این روش ورود به سیستم تأیید کرد. برای ایمیل این کاربر، تابع fetchProvidersForEmail را فراخوانی کنید و سپس از او بخواهید که با هر یک از ارائهدهندگان ورود به سیستم که برگردانده شده است، وارد سیستم شود. این خطا فقط در صورتی نمایش داده میشود که "یک حساب کاربری برای هر آدرس ایمیل" در کنسول Firebase فعال شده باشد (به برگه Security > Authentication > Settings بروید).
FIRAuthErrorCodeUserDisabled
نشان میدهد که حساب کاربری غیرفعال است.
FIRAuthErrorCodeWrongPassword
اگر اعتبارنامه از نوع EmailPasswordAuthCredential باشد، نشان میدهد که کاربر با رمز عبور اشتباه سعی در ورود به سیستم داشته است.
ورود به سیستم ناشناس با تکمیل:
کد
معنی
FIRAuthErrorCodeOperationNotAllowed
نشان میدهد که حسابهای کاربری ناشناس فعال نیستند. آنها را در کنسول Firebase فعال کنید (به برگه Security > Authentication > Sign-in method بروید).
تکمیل signInWithCustomToken:
کد
معنی
FIRAuthErrorCodeInvalidCustomToken
خطای اعتبارسنجی با توکن سفارشی را نشان میدهد.
FIRAuthErrorCodeCustomTokenMismatch
نشان میدهد که حساب کاربری سرویس و کلید API متعلق به پروژههای مختلف هستند.
تکمیل: createUserWithEmail:password:
کد
معنی
FIRAuthErrorCodeInvalidEmail
نشان میدهد که آدرس ایمیل ناقص است.
FIRAuthErrorCodeEmailAlreadyInUse
نشان میدهد ایمیلی که برای تلاش برای ثبت نام استفاده شده است، از قبل وجود دارد. تابع fetchProvidersForEmail را فراخوانی کنید تا بررسی کنید که چنین کاربری از کدام مکانیسمهای ورود به سیستم استفاده کرده است و از کاربر بخواهید با یکی از آنها وارد سیستم شود.
FIRAuthErrorCodeOperationNotAllowed
نشان میدهد که حسابهای ایمیل و رمز عبور فعال نیستند. آنها را در کنسول Firebase فعال کنید (به برگه Security > Authentication > Sign-in method بروید).
FIRAuthErrorCodeWeakPassword
نشان دهنده تلاشی برای تنظیم رمز عبوری است که بسیار ضعیف تلقی میشود. فیلد NSLocalizedFailureReasonErrorKey در شیء دیکشنری NSError.userInfo شامل توضیحات دقیقتری است که میتواند به کاربر نشان داده شود.
خروج از سیستم:
کد
معنی
FIRAuthErrorCodeKeychainError
نشان دهندهی خطایی است که هنگام دسترسی به keychain رخ داده است. فیلدهای NSLocalizedFailureReasonErrorKey و NSUnderlyingErrorKey در دیکشنری NSError.userInfo حاوی اطلاعات بیشتری در مورد خطای رخ داده خواهند بود.
FIRUser
خطاهای رایج در عملیات FIRUser
کد
معنی
FIRAuthErrorCodeInvalidUserToken
نشان میدهد که توکن بهروزرسانی کاربر وارد شده که اطلاعات جلسه را در خود نگه میدارد، نامعتبر است. شما باید از کاربر بخواهید دوباره در این دستگاه وارد سیستم شود.
FIRAuthErrorCodeUserDisabled
نشان میدهد که حساب کاربری غیرفعال شده است و دیگر نمیتوان از آن استفاده کرد تا زمانی که دوباره در کنسول Firebase فعال شود (به برگه Security > Authentication > Users بروید).
تکمیل احراز هویت مجدد با اعتبارنامه:
کد
معنی
FIRAuthErrorCodeInvalidCredential
نشان میدهد که اعتبارنامه ارائه شده نامعتبر است. این اتفاق میتواند در صورت منقضی شدن یا ناقص بودن آن رخ دهد.
FIRAuthErrorCodeInvalidEmail
اگر اعتبارنامه از نوع EmailPasswordAuthCredential باشد، نشان میدهد که آدرس ایمیل ناقص است.
FIRAuthErrorCodeWrongPassword
اگر اعتبارنامه از نوع EmailPasswordAuthCredential باشد، نشان میدهد که کاربر با رمز عبور نادرست اقدام به احراز هویت مجدد کرده است.
FIRAuthErrorCodeUserMismatch
نشان میدهد که تلاشی برای احراز هویت مجدد با کاربری غیر از کاربر فعلی انجام شده است.
FIRAuthErrorCodeOperationNotAllowed
نشان میدهد که حسابهای کاربری با ارائهدهنده هویتی که با اعتبارنامه نمایش داده میشود، فعال نیستند. آنها را در کنسول Firebase فعال کنید (به Security > Authentication بروید).
FIRAuthErrorCodeEmailAlreadyInUse
نشان میدهد که ایمیلی که توسط اعتبارنامه (مثلاً ایمیل موجود در توکن دسترسی فیسبوک) ادعا شده است، در حال حاضر توسط یک حساب کاربری موجود در حال استفاده است که نمیتوان آن را با این روش ورود به سیستم مجدداً تأیید اعتبار کرد. برای ایمیل این کاربر، تابع fetchProvidersForEmail را فراخوانی کنید و سپس از او بخواهید که با هر یک از ارائهدهندگان ورود به سیستم که برگردانده شده است، وارد سیستم شود. این خطا فقط در صورتی نمایش داده میشود که "یک حساب کاربری برای هر آدرس ایمیل" در کنسول Firebase فعال شده باشد (به برگه Security > Authentication > Settings بروید).
FIRAuthErrorCodeUserDisabled
نشان میدهد که حساب کاربری غیرفعال است.
updateEmail: تکمیل:
کد
معنی
FIRAuthErrorCodeEmailAlreadyInUse
نشان میدهد که ایمیل قبلاً توسط یک حساب کاربری دیگر در حال استفاده است.
FIRAuthErrorCodeInvalidEmail
نشان میدهد که آدرس ایمیل ناقص است.
FIRAuthErrorCodeRequiresRecentLogin
بهروزرسانی ایمیل کاربر یک عملیات حساس امنیتی است که نیاز به ورود اخیر کاربر دارد. این خطا نشان میدهد که کاربر به تازگی وارد سیستم نشده است. برای رفع این مشکل، با فراخوانی reauthenticateWithCredential:completion: در FIRUser ، کاربر را مجدداً احراز هویت کنید.
updatePassword: تکمیل:
کد
معنی
FIRAuthErrorCodeOperationNotAllowed
نشان میدهد که مدیر سیستم، ورود به سیستم با ارائهدهنده هویت مشخصشده را غیرفعال کرده است.
FIRAuthErrorCodeRequiresRecentLogin
بهروزرسانی رمز عبور کاربر یک عملیات حساس امنیتی است که نیاز به ورود اخیر کاربر دارد. این خطا نشان میدهد که کاربر به تازگی وارد سیستم نشده است. برای رفع این مشکل، با فراخوانی reauthenticateWithCredential:completion: در FIRUser ، کاربر را مجدداً احراز هویت کنید.
FIRAuthErrorCodeWeakPassword
نشان دهنده تلاشی برای تنظیم رمز عبوری است که بسیار ضعیف تلقی میشود. فیلد NSLocalizedFailureReasonErrorKey در شیء دیکشنری NSError.userInfo شامل توضیحات دقیقتری است که میتواند به کاربر نشان داده شود.
linkWithCredential:تکمیل:
کد
معنی
FIRAuthErrorCodeProviderAlreadyLinked
نشان دهنده تلاشی برای پیوند دادن ارائه دهنده ای از نوعی است که قبلاً به این حساب مرتبط شده است.
FIRAuthErrorCodeCredentialAlreadyInUse
نشان دهنده تلاشی برای پیوند با اعتبارنامهای است که قبلاً با یک حساب Firebase متفاوت مرتبط شده است.
FIRAuthErrorCodeOperationNotAllowed
نشان میدهد که حسابهای کاربری با ارائهدهنده هویتی که با اعتبارنامه نمایش داده میشود، فعال نیستند. آنها را در کنسول Firebase فعال کنید (به برگه Security > Authentication > Sign-in method بروید).
نشان دهنده تلاشی برای قطع ارتباط با ارائه دهنده ای است که به حساب متصل نیست.
FIRAuthErrorCodeRequiresRecentLogin
بهروزرسانی ایمیل یک عملیات حساس امنیتی است که نیاز به ورود اخیر کاربر دارد. این خطا نشان میدهد که کاربر به تازگی وارد سیستم نشده است. برای رفع این مشکل، با فراخوانی reauthenticateWithCredential:completion: در FIRUser ، کاربر را مجدداً احراز هویت کنید.
ارسال ایمیلتایید با تکمیل:
کد
معنی
FIRAuthErrorCodeUserNotFound
نشان میدهد که حساب کاربری پیدا نشد.
حذف با تکمیل:
کد
معنی
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 بهوقت ساعت هماهنگ جهانی."],[],[]]