אם החזרת ההשלמה על שיטות אימות מקבלת ארגומנט NSError
שאינו אפס, אירעה שגיאה. כדי לשלוח ללוגיקה מתאימה לטיפול בשגיאות בקוד הייצור שלך, בדוק את קוד השגיאה מול שגיאות נפוצות ושגיאות ספציפיות לשיטה המפורטות להלן.
ניתן לפתור שגיאות מסוימות על ידי פעולות משתמש מסוימות, לדוגמה, ניתן לפתור FIRAuthErrorCodeUserTokenExpired
על ידי כניסה שוב למשתמש ו- FIRAuthErrorCodeWrongPassword
על ידי בקשה מהמשתמש לספק את הסיסמה הנכונה.
למעט במקרה של FIRAuthErrorCodeNetworkError
או FIRAuthErrorCodeTooManyRequests
, ניסיון חוזר לפעולה נכשלת עם אותם ארגומנטים לעולם לא יצליח. אל תניח הנחה אם הפעולה נכנסה לתוקף בצד השרת או לא.
בעת חקירה או רישום שגיאות, עיין במילון userInfo
. FIRAuthErrorNameKey
מכיל מחרוזת שם שגיאה בין פלטפורמות שניתן להשתמש בה לזיהוי השגיאה. NSLocalizedDescriptionKey
מכיל תיאור של השגיאה. תיאור זה מיועד למפתח, לא למשתמש. NSUnderlyingErrorKey
מכיל את השגיאה הבסיסית שגרמה לשגיאה המדוברת, אם קיימת שגיאה בסיסית.
בנוסף לשדות העיקריים המפורטים לעיל, יכולים להיות שדות נוספים במילון userInfo
שעשויים להיות שימושיים בעת אבחון שגיאות.
קודי שגיאה משותפים לכל שיטות ה-API
קוד | מַשְׁמָעוּת |
---|
FIRAuthErrorCodeNetworkError | מציין שאירעה שגיאת רשת במהלך הפעולה. |
FIRAuthErrorCodeUserNotFound | מציין שחשבון המשתמש לא נמצא. זה יכול לקרות אם חשבון המשתמש נמחק. |
FIRAuthErrorCodeUserTokenExpired | מציין שפג תוקפו של האסימון של המשתמש הנוכחי, לדוגמה, ייתכן שהמשתמש שינה את סיסמת החשבון במכשיר אחר. עליך לבקש מהמשתמש להיכנס שוב במכשיר זה. |
FIRAuthErrorCodeTooManyRequests | מציין שהבקשה נחסמה לאחר שבוצע מספר חריג של בקשות מהמכשיר המתקשר לשרתי האימות של Firebase. נסה שוב לאחר זמן מה. |
FIRAuthErrorCodeInvalidAPIKey | מציין שהאפליקציה הוגדרה עם מפתח API לא חוקי. |
FIRAuthErrorCodeAppNotAuthorized | מציין שהאפליקציה אינה מורשית להשתמש באימות Firebase עם מפתח ה-API שסופק. עבור אל Google API Console ובדוק תחת כרטיסיית האישורים שלמפתח ה-API שבו אתה משתמש יש את מזהה החבילה של היישום שלך ברשימת ההיתרים. |
FIRAuthErrorCodeKeychainError | מציין שאירעה שגיאה בעת הגישה למחזיק המפתחות. השדות NSLocalizedFailureReasonErrorKey ו- NSUnderlyingErrorKey במילון NSError.userInfo יכילו מידע נוסף על השגיאה שנתקלתה. |
FIRAuthErrorCodeInternalError | מציין שאירעה שגיאה פנימית. אנא דווח על השגיאה עם כל אובייקט NSError . |
קודי שגיאה ספציפיים לשיטה
FIRAuth
fetchProvidersForEmail:completion:
קוד | מַשְׁמָעוּת |
---|
FIRAuthErrorCodeInvalidEmail | מציין שכתובת האימייל שגויה. |
signInWithEmail:סיסמה:השלמה:
קוד | מַשְׁמָעוּת |
---|
FIRAuthErrorCodeOperationNotAllowed | מציין שחשבונות דואר אלקטרוני וסיסמא אינם מופעלים. הפעל אותם בקטע Auth של מסוף Firebase . |
FIRAuthErrorCodeInvalidEmail | מציין שכתובת האימייל שגויה. |
FIRAuthErrorCodeUserDisabled | מציין שחשבון המשתמש מושבת. |
FIRAuthErrorCodeWrongPassword | מציין שהמשתמש ניסה להיכנס עם סיסמה שגויה. |
signInWithCredential:completion:
קוד | מַשְׁמָעוּת |
---|
FIRAuthErrorCodeInvalidCredential | מציין שהאישור שסופק אינו חוקי. זה יכול לקרות אם פג תוקפו או שהוא פגום. |
FIRAuthErrorCodeInvalidEmail | מציין שכתובת האימייל שגויה, אם האישור הוא מהסוג EmailPasswordAuthCredential . |
FIRAuthErrorCodeOperationNotAllowed | מציין שחשבונות עם ספק הזהות המיוצגים על ידי האישור אינם מופעלים. הפעל אותם בקטע Auth של מסוף Firebase . |
FIRAuthErrorCodeEmailAlreadyInUse | מציין שהדוא"ל שנטען על ידי האישור (למשל, האימייל באסימון גישה לפייסבוק) כבר נמצא בשימוש על ידי חשבון קיים, שלא ניתן לאמת אותו בשיטת הכניסה הזו. התקשר ל- fetchProvidersForEmail עבור האימייל של משתמש זה ולאחר מכן הנחה אותו להיכנס עם כל אחד מספקי הכניסה שהוחזרו. שגיאה זו תופיע רק אם ההגדרה "חשבון אחד לכל כתובת אימייל" מופעלת במסוף Firebase , תחת הגדרות אימות. |
FIRAuthErrorCodeUserDisabled | מציין שחשבון המשתמש מושבת. |
FIRAuthErrorCodeWrongPassword | מציין שהמשתמש ניסה להיכנס עם סיסמה שגויה, אם האישור הוא מהסוג EmailPasswordAuthCredential . |
SignInAnonymouslyWithCompletion:
קוד | מַשְׁמָעוּת |
---|
FIRAuthErrorCodeOperationNotAllowed | מציין שחשבונות אנונימיים אינם מופעלים. הפעל אותם בקטע Auth של מסוף Firebase . |
signInWithCustomToken:completion:
קוד | מַשְׁמָעוּת |
---|
FIRAuthErrorCodeInvalidCustomToken | מציין שגיאת אימות עם האסימון המותאם אישית. |
FIRAuthErrorCodeCustomTokenMismatch | מציין שחשבון השירות ומפתח ה-API שייכים לפרויקטים שונים. |
createUserWithEmail:סיסמה:השלמה:
קוד | מַשְׁמָעוּת |
---|
FIRAuthErrorCodeInvalidEmail | מציין שכתובת האימייל שגויה. |
FIRAuthErrorCodeEmailAlreadyInUse | מציין שהדוא"ל ששימש לניסיון ההרשמה כבר קיים. התקשר ל- fetchProvidersForEmail כדי לבדוק באילו מנגנוני כניסה משתמש כזה השתמש, ובקש מהמשתמש להיכנס עם אחד מאלה. |
FIRAuthErrorCodeOperationNotAllowed | מציין שחשבונות דואר אלקטרוני וסיסמא אינם מופעלים. הפעל אותם בקטע אימות של מסוף Firebase . |
FIRAuthErrorCodeWeakPassword | מציין ניסיון להגדיר סיסמה שנחשבת חלשה מדי. השדה NSLocalizedFailureReasonErrorKey באובייקט המילון NSError.userInfo יכיל הסבר מפורט יותר שניתן להציג למשתמש. |
התנתק:
קוד | מַשְׁמָעוּת |
---|
FIRAuthErrorCodeKeychainError | ציינה שאירעה שגיאה בעת הגישה למחזיק המפתחות. השדות NSLocalizedFailureReasonErrorKey ו- NSUnderlyingErrorKey במילון NSError.userInfo יכילו מידע נוסף על השגיאה שנתקלתה. |
FIRUser
שגיאות נפוצות עבור פעולות FIRUser
קוד | מַשְׁמָעוּת |
---|
FIRAuthErrorCodeInvalidUserToken | מציין שאסימון הרענון של המשתמש המחובר, שמכיל מידע על הפעלה, אינו חוקי. עליך לבקש מהמשתמש להיכנס שוב במכשיר זה. |
FIRAuthErrorCodeUserDisabled | מציין שחשבון המשתמש מושבת ולא ניתן עוד להשתמש בו עד שיופעל שוב מתוך חלונית המשתמשים במסוף Firebase. |
reauthenticateWithCredential:completion:
קוד | מַשְׁמָעוּת |
---|
FIRAuthErrorCodeInvalidCredential | מציין שהאישור שסופק אינו חוקי. זה יכול לקרות אם פג תוקפו או שהוא פגום. |
FIRAuthErrorCodeInvalidEmail | מציין שכתובת האימייל שגויה, אם האישור הוא מהסוג EmailPasswordAuthCredential . |
FIRAuthErrorCodeWrongPassword | מציין שהמשתמש ניסה לאמת מחדש עם סיסמה שגויה, אם האישור הוא מהסוג EmailPasswordAuthCredential . |
FIRAuthErrorCodeUserMismatch | מציין שנעשה ניסיון לאימות מחדש עם משתמש שאינו המשתמש הנוכחי. |
FIRAuthErrorCodeOperationNotAllowed | מציין שחשבונות עם ספק הזהות המיוצגים על ידי האישור אינם מופעלים. הפעל אותם בקטע Auth של מסוף Firebase . |
FIRAuthErrorCodeEmailAlreadyInUse | מציין שהדוא"ל שנטען על ידי האישור (למשל, האימייל באסימון גישה לפייסבוק) כבר נמצא בשימוש על ידי חשבון קיים, שלא ניתן לאמת אותו מחדש בשיטת הכניסה הזו. התקשר ל- 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 | מציין שחשבונות עם ספק הזהות המיוצגים על ידי האישור אינם מופעלים. הפעל אותם בקטע Auth של מסוף Firebase . |
שיטה זו עשויה גם להחזיר קודי שגיאה המשויכים updateEmail:completion:
updatePassword:completion:
ב- FIRUser
.
unlinkFromProvider:completion:
קוד | מַשְׁמָעוּת |
---|
FIRAuthErrorCodeNoSuchProvider | מציין ניסיון לבטל קישור של ספק שאינו מקושר לחשבון. |
FIRAuthErrorCodeRequiresRecentLogin | עדכון דוא"ל הוא פעולה רגישה לאבטחה הדורשת התחברות עדכנית מהמשתמש. שגיאה זו מציינת שהמשתמש לא נכנס מספיק לאחרונה. כדי לפתור את הבעיה, אימות מחדש את המשתמש על ידי הפעלת reauthenticateWithCredential:completion: ב- FIRUser . |
sendEmailVerificationWithCompletion:
קוד | מַשְׁמָעוּת |
---|
FIRAuthErrorCodeUserNotFound | מציין שחשבון המשתמש לא נמצא. |
deleteWithCompletion:
קוד | מַשְׁמָעוּת |
---|
FIRAuthErrorCodeRequiresRecentLogin | מחיקת חשבון משתמש היא פעולה רגישה לאבטחה הדורשת התחברות עדכנית מהמשתמש. שגיאה זו מציינת שהמשתמש לא נכנס מספיק לאחרונה. כדי לפתור את הבעיה, אימות מחדש את המשתמש על ידי הפעלת reauthenticateWithCredential:completion: ב- FIRUser . |