Firebase Apple Platformları Kimlik Doğrulama Hatalarını Ele Alın

Kimlik doğrulama yöntemlerindeki tamamlama geri çağrısı, sıfır olmayan bir NSError bağımsız değişkeni alırsa, bir hata oluşmuştur. Üretim kodunuzdaki uygun hata işleme mantığını yönlendirmek için hata kodunu aşağıda listelenen genel hatalara ve yönteme özgü hatalara göre kontrol edin.

Bazı hatalar belirli kullanıcı eylemleriyle çözülebilir; örneğin, FIRAuthErrorCodeUserTokenExpired kullanıcının tekrar oturum açmasıyla ve FIRAuthErrorCodeWrongPassword , kullanıcıdan doğru şifreyi girmesini isteyerek çözülebilir.

FIRAuthErrorCodeNetworkError veya FIRAuthErrorCodeTooManyRequests durumları dışında, başarısız bir işlemi aynı argümanlarla yeniden denemek asla başarılı olmaz. İşlemin sunucu tarafında etkili olup olmadığı konusunda herhangi bir varsayımda bulunmayın.

Hataları araştırırken veya günlüğe kaydederken userInfo sözlüğünü inceleyin. FIRAuthErrorNameKey hatayı tanımlamak için kullanılabilecek bir platformlar arası hata adı dizesi içerir. NSLocalizedDescriptionKey hatanın açıklamasını içerir. Bu açıklama kullanıcı için değil geliştirici içindir. NSUnderlyingErrorKey altta yatan bir hata varsa, söz konusu hataya neden olan temel hatayı içerir.

Yukarıda listelenen ana alanlara ek olarak, userInfo sözlüğünde hataları teşhis ederken faydalı bulabileceğiniz başka alanlar da olabilir.

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

Kod Anlam
FIRAuthErrorCodeNetworkError İşlem sırasında bir ağ hatasının oluştuğunu gösterir.
FIRAuthErrorCodeUserNotFound Kullanıcı hesabının bulunamadığını gösterir. Kullanıcı hesabı silinmişse bu durum meydana gelebilir.
FIRAuthErrorCodeUserTokenExpired Geçerli kullanıcının belirtecinin süresinin dolduğunu belirtir; örneğin kullanıcı başka bir cihazdaki hesap parolasını değiştirmiş olabilir. Kullanıcıdan bu cihazda tekrar oturum açmasını istemeniz gerekir.
FIRAuthErrorCodeTooManyRequests Arayanın cihazından Firebase Authentication sunucularına anormal sayıda istek yapıldıktan sonra isteğin engellendiğini belirtir. 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ıyla Firebase Kimlik Doğrulamasını kullanma yetkisine sahip olmadığını belirtir. Google API Konsolu'na gidin ve kimlik bilgileri sekmesi altında, kullandığınız API anahtarının uygulamanızın paket kimliğinin beyaz listeye alınıp alınmadığını kontrol edin.
FIRAuthErrorCodeKeychainError Anahtarlığa erişilirken bir hata oluştuğunu belirtir. NSError.userInfo sözlüğündeki NSLocalizedFailureReasonErrorKey ve NSUnderlyingErrorKey alanları, karşılaşılan hata hakkında daha fazla bilgi içerecektir.
FIRAuthErrorCodeInternalError Dahili bir hatanın oluştuğunu gösterir. Lütfen hatayı NSError nesnesinin tamamıyla bildirin.

Yönteme özgü 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 şifre hesaplarının etkinleştirilmediğini belirtir. Firebase konsolunun Kimlik Doğrulama bölümünde bunları etkinleştirin.
FIRAuthErrorCodeInvalidEmail E-posta adresinin hatalı biçimlendirildiğini gösterir.
FIRAuthErrorCodeUserDisabled Kullanıcının hesabının devre dışı bırakıldığını belirtir.
FIRAuthErrorCodeWrongPassword Kullanıcının yanlış parolayla oturum açmaya çalıştığını gösterir.

SignInWithCredential:tamamlama:

Kod Anlam
FIRAuthErrorCodeInvalidCredential Sağlanan kimlik bilgilerinin geçersiz olduğunu gösterir. Süresi dolmuşsa veya hatalı biçimlendirilmişse bu durum meydana gelebilir.
FIRAuthErrorCodeInvalidEmail Kimlik bilgisi EmailPasswordAuthCredential türündeyse e-posta adresinin hatalı biçimlendirilmiş olduğunu gösterir.
FIRAuthErrorCodeOperationNotAllowed Kimlik bilgisi tarafından temsil edilen kimlik sağlayıcıya sahip hesapların etkinleştirilmediğini belirtir. Firebase konsolunun Kimlik Doğrulama bölümünde bunları etkinleştirin.
FIRAuthErrorCodeEmailAlreadyInUse Kimlik bilgisi tarafından ileri sürülen e-postanın (örneğin Facebook erişim belirtecindeki e-posta), bu oturum açma yöntemiyle kimlik doğrulaması yapılamayan mevcut bir hesap tarafından zaten kullanıldığını belirtir. Bu kullanıcının e-postası için fetchProvidersForEmail arayın ve ardından döndürülen oturum açma sağlayıcılarından herhangi biriyle oturum açmasını isteyin. Bu hata yalnızca Firebase konsolunda Kimlik Doğrulama ayarları altında "E-posta adresi başına bir hesap" ayarı etkinleştirildiğinde ortaya çıkar.
FIRAuthErrorCodeUserDisabled Kullanıcının hesabının devre dışı bırakıldığını belirtir.
FIRAuthErrorCodeWrongPassword Kimlik bilgisi EmailPasswordAuthCredential türündeyse kullanıcının yanlış parolayla oturum açma girişiminde bulunduğunu gösterir.

Tamamlama İle Anonim Olarak Oturum Açın:

Kod Anlam
FIRAuthErrorCodeOperationNotAllowed Anonim hesapların etkinleştirilmediğini belirtir. Firebase konsolunun Kimlik Doğrulama bölümünde bunları etkinleştirin.

SignInWithCustomToken:tamamlama:

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

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 mevcut olduğunu belirtir. Bu kullanıcının hangi oturum açma mekanizmalarını kullandığını kontrol etmek için fetchProvidersForEmail arayın ve kullanıcıdan bunlardan biriyle oturum açmasını isteyin.
FIRAuthErrorCodeOperationNotAllowed E-posta ve şifre hesaplarının etkinleştirilmediğini belirtir. Firebase konsolunun Kimlik Doğrulama bölümünde bunları etkinleştirin.
FIRAuthErrorCodeWeakPassword Çok zayıf olduğu düşünülen bir parola belirleme girişimini belirtir. NSError.userInfo sözlük nesnesindeki NSLocalizedFailureReasonErrorKey alanı, kullanıcıya gösterilebilecek daha ayrıntılı bir açıklama içerecektir.

oturumu Kapat:

Kod Anlam
FIRAuthErrorCodeKeychainError Anahtarlığa erişilirken bir hata oluştuğunu belirtti. NSError.userInfo sözlüğündeki NSLocalizedFailureReasonErrorKey ve NSUnderlyingErrorKey alanları, karşılaşılan hata hakkında daha fazla bilgi içerecektir.

FIRUser

FIRUser işlemleri için yaygın hatalar

Kod Anlam
FIRAuthErrorCodeInvalidUserToken Oturum açan kullanıcının oturum bilgilerini içeren yenileme belirtecinin geçersiz olduğunu belirtir. Kullanıcıdan bu cihazda tekrar oturum açmasını istemeniz gerekir.
FIRAuthErrorCodeUserDisabled Kullanıcının hesabının devre dışı bırakıldığını ve Firebase konsolundaki Kullanıcılar panelinden tekrar etkinleştirilene kadar artık kullanılamayacağını belirtir.

reauthenticateWithCredential:tamamlama:

Kod Anlam
FIRAuthErrorCodeInvalidCredential Sağlanan kimlik bilgilerinin geçersiz olduğunu gösterir. Süresi dolmuşsa veya hatalı biçimlendirilmişse bu durum meydana gelebilir.
FIRAuthErrorCodeInvalidEmail Kimlik bilgisi EmailPasswordAuthCredential türündeyse e-posta adresinin hatalı biçimlendirilmiş olduğunu gösterir.
FIRAuthErrorCodeWrongPassword Kimlik bilgisi EmailPasswordAuthCredential türündeyse kullanıcının yanlış parolayla yeniden kimlik doğrulama girişiminde bulunduğunu gösterir.
FIRAuthErrorCodeUserMismatch Geçerli kullanıcı olmayan bir kullanıcıyla yeniden kimlik doğrulama girişiminde bulunulduğunu belirtir.
FIRAuthErrorCodeOperationNotAllowed Kimlik bilgisi tarafından temsil edilen kimlik sağlayıcıya sahip hesapların etkinleştirilmediğini belirtir. Firebase konsolunun Kimlik Doğrulama bölümünde bunları etkinleştirin.
FIRAuthErrorCodeEmailAlreadyInUse Kimlik bilgisi tarafından ileri sürülen e-postanın (örneğin Facebook erişim belirtecindeki e-posta), bu oturum açma yöntemiyle yeniden kimlik doğrulaması yapılamayan mevcut bir hesap tarafından zaten kullanıldığını belirtir. Bu kullanıcının e-postası için fetchProvidersForEmail arayın ve ardından döndürülen oturum açma sağlayıcılarından herhangi biriyle oturum açmasını isteyin. Bu hata yalnızca Firebase konsolunda Kimlik Doğrulama ayarları altında "E-posta adresi başına bir hesap" ayarı etkinleştirildiğinde ortaya çıkar.
FIRAuthErrorCodeUserDisabled Kullanıcının hesabının devre dışı bırakıldığını belirtir.

güncellemeE-posta:tamamlama:

Kod Anlam
FIRAuthErrorCodeEmailAlreadyInUse E-postanın halihazırda başka bir hesap tarafından kullanıldığını belirtir.
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. Çözümlemek için, FIRUser üzerinde reauthenticateWithCredential:completion: çağırarak kullanıcının kimliğini yeniden doğrulayın.

güncellemeŞifresi:tamamlama:

Kod Anlam
FIRAuthErrorCodeOperationNotAllowed Yöneticinin belirtilen kimlik sağlayıcıyla oturum açmayı devre dışı bıraktığını belirtir.
FIRAuthErrorCodeRequiresRecentLogin Bir kullanıcının şifresini 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. Çözümlemek için, FIRUser üzerinde reauthenticateWithCredential:completion: çağırarak kullanıcının kimliğini yeniden doğrulayın.
FIRAuthErrorCodeWeakPassword Çok zayıf olduğu düşünülen bir parola belirleme girişimini belirtir. NSError.userInfo sözlük nesnesindeki NSLocalizedFailureReasonErrorKey alanı, kullanıcıya gösterilebilecek daha ayrıntılı bir açıklama içerecektir.

linkWithCredential:tamamlama:

Kod Anlam
FIRAuthErrorCodeProviderAlreadyLinked Bu hesaba zaten bağlı olan türdeki bir sağlayıcıyı bağlama girişimini belirtir.
FIRAuthErrorCodeCredentialAlreadyInUse Zaten farklı bir Firebase hesabına bağlanmış bir kimlik bilgisine bağlanma girişimini belirtir.
FIRAuthErrorCodeOperationNotAllowed Kimlik bilgisi tarafından temsil edilen kimlik sağlayıcıya sahip hesapların etkinleştirilmediğini belirtir. Firebase konsolunun Kimlik Doğrulama bölümünde bunları etkinleştirin.

Bu yöntem aynı zamanda FIRUser üzerinde updateEmail:completion: ve updatePassword:completion: ile ilişkili hata kodlarını da döndürebilir.

unlinkFromProvider:tamamlama:

Kod Anlam
FIRAuthErrorCodeNoSuchProvider Hesaba bağlı olmayan bir sağlayıcının bağlantısını kaldırma girişimini belirtir.
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. Çözümlemek için, FIRUser üzerinde reauthenticateWithCredential:completion: çağırarak kullanıcının kimliğini yeniden doğrulayın.

sendEmailVerificationWithCompletion:

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

deleteWithCompletion:

Kod Anlam
FIRAuthErrorCodeRequiresRecentLogin Bir kullanıcı hesabının silinmesi, 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. Çözümlemek için, FIRUser üzerinde reauthenticateWithCredential:completion: çağırarak kullanıcının kimliğini yeniden doğrulayın.