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

Firebase Apple Platformları Yetkilendirme Hatalarını İşleyin

Kimlik doğrulama yöntemleri tamamlanma geri arama bir alırsa NSError sıfır olmayan bir argüman, bir hata meydana gelmiştir. Üretim kodunuzdaki uygun hata işleme mantığına sevk etmek için, hata kodunu aşağıda listelenen yaygın hatalara ve yönteme özel hatalara karşı kontrol edin.

Bazı hatalar özellikle kullanıcı eylemleri çözülebilir, örneğin, FIRAuthErrorCodeUserTokenExpired yine kullanıcıyı imzalama ve çözülebilir FIRAuthErrorCodeWrongPassword doğru şifreyi sağlamak için kullanıcı sorarak.

Durumunda hariç FIRAuthErrorCodeNetworkError veya FIRAuthErrorCodeTooManyRequests başarılı asla aynı argümanlarla başarısız işlemi tekrar denemeden. İşlemin sunucu tarafında etkili olup olmadığı konusunda herhangi bir varsayımda bulunmayın.

Soruşturma veya hataları giriş yaparken, gözden userInfo sözlüğü. FIRAuthErrorNameKey hatayı tespit için kullanılabilecek bir çapraz platform hatası adı dizesi içerir. NSLocalizedDescriptionKey hatanın bir tanımını içerir. Bu açıklama kullanıcı için değil geliştirici içindir. NSUnderlyingErrorKey altta yatan hata varsa, söz konusu hataya neden altta yatan hata içeriyor.

Yukarıda listelenen ana alanlara ek olarak, diğer alanlar olabilir userInfo hataları teşhis ederken yararlı olabilecek bu sözlükte.

Tüm API yöntemlerinde ortak olan hata kodları

kod Anlam
FIRAuthErrorCodeNetworkError İşlem sırasında bir ağ hatası oluştuğunu gösterir.
FIRAuthErrorCodeUserNotFound Kullanıcı hesabının bulunamadığını gösterir. Bu, kullanıcı hesabı silinmişse olabilir.
FIRAuthErrorCodeUserTokenExpired Geçerli kullanıcının jetonunun süresinin dolduğunu gösterir; örneğin, kullanıcı başka bir cihazda hesap şifresini değiştirmiş olabilir. Kullanıcıdan bu cihazda tekrar oturum açmasını istemelisiniz.
FIRAuthErrorCodeTooManyRequests Arayan cihazdan Firebase Kimlik Doğrulama sunucularına anormal sayıda istek yapıldıktan sonra isteğin engellendiğini gösterir. Bir süre sonra tekrar deneyin.
FIRAuthErrorCodeInvalidAPIKey Uygulamanın geçersiz bir API anahtarıyla yapılandırıldığını gösterir.
FIRAuthErrorCodeAppNotAuthorized Uygulamanın, sağlanan API Anahtarı ile Firebase Kimlik Doğrulamasını kullanma yetkisi olmadığını belirtir. Google API Konsolu'na gidin ve kullandığınız API anahtarının, uygulamanızın paket kimliğinin beyaz listeye eklendiğini, kimlik bilgileri sekmesinin altında kontrol edin.
FIRAuthErrorCodeKeychainError Anahtar zincirine erişilirken bir hata oluştuğunu gösterir. NSLocalizedFailureReasonErrorKey ve NSUnderlyingErrorKey alanlar NSError.userInfo sözlüğe karşılaştığımız hata hakkında daha fazla bilgi içerecektir.
FIRAuthErrorCodeInternalError Dahili bir hata oluştuğunu gösterir. Lütfen hatayı bildirmek tüm ile NSError nesne.

Yönteme özel hata kodları

FIRAuth

fetchProvidersForEmail:tamamlama:

kod Anlam
FIRAuthErrorCodeInvalidEmail E-posta adresinin hatalı biçimlendirildiğini gösterir.

signInWithEmail:şifre:tamamlama:

kod Anlam
FIRAuthErrorCodeOperationNotAllowed E-posta ve parola hesaplarının etkinleştirilmediğini gösterir. Arasında Auth bölümünde bunları etkinleştirme Firebase konsoluna .
FIRAuthErrorCodeInvalidEmail E-posta adresinin hatalı biçimlendirildiğini gösterir.
FIRAuthErrorCodeUserDisabled Kullanıcının hesabının devre dışı bırakıldığını gösterir.
FIRAuthErrorCodeWrongPassword Kullanıcının yanlış bir parola ile oturum açmaya çalıştığını gösterir.

signInWithCredential:tamamlama:

kod Anlam
FIRAuthErrorCodeInvalidCredential Sağlanan kimlik bilgisinin geçersiz olduğunu gösterir. Bu, süresi dolmuşsa veya hatalı biçimlendirilmişse olabilir.
FIRAuthErrorCodeInvalidEmail Kimlik bilgisi türü ise e-posta adresi, yanlış biçimlendirilmiş gösterir EmailPasswordAuthCredential .
FIRAuthErrorCodeOperationNotAllowed Kimlik bilgisi tarafından temsil edilen kimlik sağlayıcıya sahip hesapların etkinleştirilmediğini gösterir. Arasında Auth bölümünde bunları etkinleştirme Firebase konsoluna .
FIRAuthErrorCodeEmailAlreadyInUse Kimlik bilgisi tarafından onaylanan e-postanın (örneğin bir Facebook erişim belirtecindeki e-posta), bu oturum açma yöntemiyle kimliği doğrulanamayan mevcut bir hesap tarafından zaten kullanıldığını gösterir. Çağrı fetchProvidersForEmail kullanıcının e-posta için ve onları daha sonra istemi oturum açma iade sağlayıcılarının birini kullanarak oturum için. Ayarı "e-posta adresine başına bir hesap" etkinse Bu hata, yalnızca atılacaktır Firebase konsolunun Kimlik Doğrulama ayarları altında.
FIRAuthErrorCodeUserDisabled Kullanıcının hesabının devre dışı bırakıldığını gösterir.
FIRAuthErrorCodeWrongPassword Kimlik bilgisi türü ise, bir yanlış şifreyle oturum teşebbüs işareti gösterir EmailPasswordAuthCredential .

SignInAnonymouslyWithCompletion:

kod Anlam
FIRAuthErrorCodeOperationNotAllowed Anonim hesapların etkinleştirilmediğini gösterir. Arasında Auth bölümünde bunları etkinleştirme Firebase konsoluna .

signInWithCustomToken:tamamlama:

kod Anlam
FIRAuthErrorCodeInvalidCustomToken Özel belirteçle ilgili bir doğrulama hatasını gösterir.
FIRAuthErrorCodeCustomTokenMismatch Hizmet hesabını ve API anahtarının farklı projelere ait olduğunu gösterir.

createUserWithEmail:şifre:tamamlama:

kod Anlam
FIRAuthErrorCodeInvalidEmail E-posta adresinin hatalı biçimlendirildiğini gösterir.
FIRAuthErrorCodeEmailAlreadyInUse Kaydolmayı denemek için kullanılan e-postanın zaten var olduğunu gösterir. Çağrı fetchProvidersForEmail olanların biri ile imzalamak için olan mekanizma olarak bir işaret olarak kullanılan, kullanıcı ve hızlı bir kullanıcı kontrol etmek için.
FIRAuthErrorCodeOperationNotAllowed E-posta ve parola hesaplarının etkinleştirilmediğini gösterir. Kimlik Doğrulama bölümünde bunları etkinleştirme Firebase konsoluna .
FIRAuthErrorCodeWeakPassword Çok zayıf olarak kabul edilen bir parola belirleme girişimini belirtir. NSLocalizedFailureReasonErrorKey alan NSError.userInfo sözlük nesneye kullanıcıya gösterilebilir daha ayrıntılı bir açıklama içerecektir.

oturumu Kapat:

kod Anlam
FIRAuthErrorCodeKeychainError Anahtarlığa erişirken bir hata oluştuğunu belirtti. NSLocalizedFailureReasonErrorKey ve NSUnderlyingErrorKey alanlar NSError.userInfo sözlüğe karşılaştığımız hata hakkında daha fazla bilgi içerecektir.

FIRUser

FIRUser işlemleri için yaygın hatalar

kod Anlam
FIRAuthErrorCodeInvalidUserToken Oturum açmış kullanıcının oturum bilgilerini tutan yenileme belirtecinin geçersiz olduğunu gösterir. Kullanıcıdan bu cihazda tekrar oturum açmasını istemelisiniz.
FIRAuthErrorCodeUserDisabled Kullanıcı hesabının devre dışı bırakıldığını ve Firebase konsolundaki Kullanıcılar panelinden yeniden etkinleştirilene kadar artık kullanılamayacağını belirtir.

reauthenticateWithCredential:tamamlama:

kod Anlam
FIRAuthErrorCodeInvalidCredential Sağlanan kimlik bilgisinin geçersiz olduğunu gösterir. Bu, süresi dolmuşsa veya hatalı biçimlendirilmişse olabilir.
FIRAuthErrorCodeInvalidEmail Kimlik bilgisi türü ise e-posta adresi, yanlış biçimlendirilmiş gösterir EmailPasswordAuthCredential .
FIRAuthErrorCodeWrongPassword Kimlik bilgisi türü ise, yanlış bir şifre ile kullanıcı teşebbüs yeniden kimlik doğrulaması gösterir EmailPasswordAuthCredential .
FIRAuthErrorCodeUserMismatch Geçerli kullanıcı olmayan bir kullanıcıyla yeniden kimlik doğrulama girişiminde bulunulduğunu gösterir.
FIRAuthErrorCodeOperationNotAllowed Kimlik bilgisi tarafından temsil edilen kimlik sağlayıcıya sahip hesapların etkinleştirilmediğini gösterir. Arasında Auth bölümünde bunları etkinleştirme Firebase konsoluna .
FIRAuthErrorCodeEmailAlreadyInUse Kimlik bilgisi tarafından belirtilen e-postanın (örneğin bir Facebook erişim belirtecindeki e-posta), bu oturum açma yöntemiyle yeniden doğrulanamayan mevcut bir hesap tarafından zaten kullanıldığını gösterir. Çağrı fetchProvidersForEmail kullanıcının e-posta için ve onları daha sonra istemi oturum açma iade sağlayıcılarının birini kullanarak oturum için. Ayarı "e-posta adresine başına bir hesap" etkinse Bu hata, yalnızca atılacaktır Firebase konsolunun Kimlik Doğrulama ayarları altında.
FIRAuthErrorCodeUserDisabled Kullanıcının hesabının devre dışı bırakıldığını gösterir.

güncellemeE-posta:tamamlama:

kod Anlam
FIRAuthErrorCodeEmailAlreadyInUse E-postanın zaten başka bir hesap tarafından kullanıldığını gösterir.
FIRAuthErrorCodeInvalidEmail E-posta adresinin hatalı biçimlendirildiğini gösterir.
FIRAuthErrorCodeRequiresRecentLogin Bir kullanıcının e-postasını güncellemek, kullanıcının yakın zamanda oturum açmasını gerektiren, güvenlik açısından hassas bir işlemdir. Bu hata, kullanıcının yakın zamanda yeterince oturum açmadığını gösterir. Kararlılığı için, çağırarak kullanıcıyı reauthenticate reauthenticateWithCredential:completion: üzerine FIRUser .

güncellemeParolası:tamamlama:

kod Anlam
FIRAuthErrorCodeOperationNotAllowed Yöneticinin belirtilen kimlik sağlayıcıyla oturum açmayı devre dışı bıraktığını gösterir.
FIRAuthErrorCodeRequiresRecentLogin Bir kullanıcının parolasını güncellemek, kullanıcının yakın zamanda oturum açmasını gerektiren, güvenlik açısından hassas bir işlemdir. Bu hata, kullanıcının yakın zamanda yeterince oturum açmadığını gösterir. Kararlılığı için, çağırarak kullanıcıyı reauthenticate reauthenticateWithCredential:completion: üzerine FIRUser .
FIRAuthErrorCodeWeakPassword Çok zayıf olarak kabul edilen bir parola belirleme girişimini belirtir. NSLocalizedFailureReasonErrorKey alan NSError.userInfo sözlük nesneye kullanıcıya gösterilebilir daha ayrıntılı bir açıklama içerecektir.

linkWithCredential:tamamlama:

kod Anlam
FIRAuthErrorCodeProviderAlreadyLinked Bu hesaba zaten bağlı türde bir sağlayıcı bağlama girişimini gösterir.
FIRAuthErrorCodeCredentialAlreadyInUse Halihazırda farklı bir Firebase hesabına bağlanmış olan bir kimlik bilgisi ile bağlantı kurma girişimini gösterir.
FIRAuthErrorCodeOperationNotAllowed Kimlik bilgisi tarafından temsil edilen kimlik sağlayıcıya sahip hesapların etkinleştirilmediğini gösterir. Arasında Auth bölümünde bunları etkinleştirme Firebase konsoluna .

Bu yöntem, aynı zamanda ilişkili hata kodları döndürebilir updateEmail:completion: ve updatePassword:completion: ilgili FIRUser .

unlinkFromProvider:tamamlama:

kod Anlam
FIRAuthErrorCodeNoSuchProvider Hesaba bağlı olmayan bir sağlayıcının bağlantısını kaldırma girişimini gösterir.
FIRAuthErrorCodeRequiresRecentLogin E-postanın güncellenmesi, kullanıcının yakın zamanda oturum açmasını gerektiren, güvenlik açısından hassas bir işlemdir. Bu hata, kullanıcının yakın zamanda yeterince oturum açmadığını gösterir. Kararlılığı için, çağırarak kullanıcıyı reauthenticate reauthenticateWithCredential:completion: üzerine FIRUser .

sendEmailVerificationWithCompletion:

kod Anlam
FIRAuthErrorCodeUserNotFound Kullanıcı hesabının bulunamadığını gösterir.

deleteWithCompletion:

kod Anlam
FIRAuthErrorCodeRequiresRecentLogin Bir kullanıcı hesabını silmek, kullanıcının yakın zamanda oturum açmasını gerektiren, güvenlik açısından hassas bir işlemdir. Bu hata, kullanıcının yakın zamanda yeterince oturum açmadığını gösterir. Kararlılığı için, çağırarak kullanıcıyı reauthenticate reauthenticateWithCredential:completion: üzerine FIRUser .