Authentication yöntemlerindeki tamamlama geri çağırması, NSError
nil değil, bir hata oluştu. Uygun hata işleme bölümüne göndermek için
mantığınıza dahil etmek, hata kodunu yaygın hatalara karşı kontrol edin ve
yönteme özgü hatalar aşağıda listelenmiştir.
Bazı hatalar belirli kullanıcı işlemleriyle çözülebilir, örneğin:
FIRAuthErrorCodeUserTokenExpired
, kullanıcının oturum açarak çözülebilir
ve FIRAuthErrorCodeWrongPassword
kullanıcıdan
gerekir.
FIRAuthErrorCodeNetworkError
veya
FIRAuthErrorCodeTooManyRequests
, başarısız bir işlem aynı öğeyle yeniden deneniyor
argümanları hiçbir zaman başarılı olmaz. İşlemin yapılıp yapılmadığı konusunda varsayımda bulunmayın.
sunucu tarafında geçerlilik kazandı.
Hataları araştırırken veya günlüğe kaydederken userInfo
sözlüğünü inceleyin.
FIRAuthErrorNameKey
, platformlar arası şöyle bir hata adı dizesi içeriyor:
hatanın tanımlanmasında kullanılır.
NSLocalizedDescriptionKey
, hatanın açıklamasını içeriyor. Bu
açıklama kullanıcıya değil, geliştiriciye yöneliktir.
NSUnderlyingErrorKey
, hataya neden olan temel hatayı içeriyor
soru işaretiyle karşı karşıya kalabilirsiniz.
Yukarıda listelenen ana alanlara ek olarak
Hataları teşhis ederken yararlı bulabileceğiniz userInfo
sözlük.
Tüm API yöntemlerinde sık karşılaşılan hata kodları
Kod |
Anlamı |
FIRAuthErrorCodeNetworkError |
İşlem sırasında bir ağ hatası oluştuğunu belirtir. |
FIRAuthErrorCodeUserNotFound |
Kullanıcı hesabının bulunamadığını gösterir. Bunun nedeni, kullanıcı hesabının silinmiş olması olabilir. |
FIRAuthErrorCodeUserTokenExpired |
Geçerli kullanıcı jetonunun süresinin dolduğunu belirtir. Örneğin, kullanıcı başka bir cihazda hesap şifresini değiştirmiş olabilir. Kullanıcıdan bu cihazda tekrar oturum açmasını istemeniz gerekir. |
FIRAuthErrorCodeTooManyRequests |
Arayan cihazdan 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ı belirtir. |
FIRAuthErrorCodeAppNotAuthorized |
Uygulamanın, sağlanan API Anahtarı ile Firebase Authentication'ı kullanma yetkisinin olmadığını belirtir. Google API Konsolu'na gidin ve kimlik bilgileri sekmesinde, kullandığınız API anahtarının uygulamanızın paket kimliğinin beyaz listeye alınıp alınmadığını kontrol edin. |
FIRAuthErrorCodeKeychainError |
Anahtar zincirine erişilirken bir hata oluştuğunu belirtir. NSError.userInfo sözlüğündeki NSLocalizedFailureReasonErrorKey ve NSUnderlyingErrorKey alanları, karşılaşılan hatayla ilgili daha fazla bilgi içerir. |
FIRAuthErrorCodeInternalError |
Dahili bir hata oluştuğunu belirtir. Lütfen tüm NSError nesnesiyle birlikte hatayı bildirin. |
Yönteme özel hata kodları
FIRAuth
receiveProvidersForEmail:complete:
Kod |
Anlamı |
FIRAuthErrorCodeInvalidEmail |
E-posta adresinin hatalı biçimlendirilmiş olduğunu belirtir. |
signInWithEmail:sifre:tamamlama:
Kod |
Anlamı |
FIRAuthErrorCodeOperationNotAllowed |
E-posta ve şifre hesaplarının etkinleştirilmediğini belirtir. Bunları Firebase konsolunun Yetkilendirme bölümünden etkinleştirebilirsiniz. |
FIRAuthErrorCodeInvalidEmail |
E-posta adresinin hatalı biçimlendirilmiş olduğunu belirtir. |
FIRAuthErrorCodeUserDisabled |
Kullanıcının hesabının devre dışı bırakıldığını belirtir. |
FIRAuthErrorCodeWrongPassword |
Kullanıcının yanlış bir şifreyle oturum açma girişiminde bulunduğunu belirtir. |
signInWithCredential:complete:
Kod |
Anlamı |
FIRAuthErrorCodeInvalidCredential |
Sağlanan kimlik bilgisinin geçersiz olduğunu belirtir. Bu durum, kodun süresi dolmuş veya hatalı biçimlendirilmiş olabilir. |
FIRAuthErrorCodeInvalidEmail |
Kimlik bilgisi EmailPasswordAuthCredential türündeyse e-posta adresinin hatalı olduğunu belirtir. |
FIRAuthErrorCodeOperationNotAllowed |
Kimlik bilgisinin temsil ettiği kimlik sağlayıcıya sahip hesapların etkinleştirilmediğini belirtir. Bunları Firebase konsolunun Yetkilendirme bölümünden etkinleştirebilirsiniz. |
FIRAuthErrorCodeEmailAlreadyInUse |
Kimlik bilgisi tarafından onaylanan e-postanın (ör. Facebook erişim jetonundaki e-posta) bu oturum açma yöntemiyle kimliği doğrulanamayan mevcut bir hesap tarafından zaten kullanıldığını belirtir. Bu kullanıcının e-postasını almak için fetchProvidersForEmail numaralı telefonu 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 "Her e-posta adresi için bir hesap" ayarı, Firebase konsolunda, Authentication ayarları altından etkinleştirilir. |
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ış bir şifreyle oturum açma girişiminde bulunduğunu belirtir. |
signInAnonymouslyWithTamamlandı:
Kod |
Anlamı |
FIRAuthErrorCodeOperationNotAllowed |
Anonim hesapların etkinleştirilmediğini belirtir. Bunları Firebase konsolunun Yetkilendirme bölümünden etkinleştirebilirsiniz. |
signInWithCustomToken:tamamlanma:
Kod |
Anlamı |
FIRAuthErrorCodeInvalidCustomToken |
Özel jetonla ilgili bir doğrulama hatası olduğunu gösterir. |
FIRAuthErrorCodeCustomTokenMismatch |
Hizmet hesabının ve API anahtarının farklı projelere ait olduğunu belirtir. |
createUserWithEmail:password:complete:
Kod |
Anlamı |
FIRAuthErrorCodeInvalidEmail |
E-posta adresinin hatalı biçimlendirilmiş olduğunu belirtir. |
FIRAuthErrorCodeEmailAlreadyInUse |
Kaydolma girişiminde kullanılan e-posta adresinin zaten mevcut olduğunu belirtir. Bu gibi kullanıcıların hangi oturum açma mekanizmalarını kullandığını kontrol etmek için fetchProvidersForEmail numaralı telefonu 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 Authentication bölümünde bunları etkinleştirebilirsiniz. |
FIRAuthErrorCodeWeakPassword |
Çok zayıf olarak kabul edilen bir şifre ayarlama girişimini gösterir. NSError.userInfo sözlük nesnesindeki NSLocalizedFailureReasonErrorKey alanı, kullanıcıya gösterilebilecek daha ayrıntılı açıklama içerir. |
çıkış:
Kod |
Anlamı |
FIRAuthErrorCodeKeychainError |
Anahtar zincirine erişilirken bir hata oluştuğu belirtildi. NSError.userInfo sözlüğündeki NSLocalizedFailureReasonErrorKey ve NSUnderlyingErrorKey alanları, karşılaşılan hatayla ilgili daha fazla bilgi içerir. |
FIRUser
FIRUser işlemleri için sık karşılaşılan hatalar
Kod |
Anlamı |
FIRAuthErrorCodeInvalidUserToken |
Oturum açmış kullanıcının, oturum bilgilerini içeren yenileme jetonunun 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 kullanılamayacağını belirtir. |
reauthenticateWithCredential:complete:
Kod |
Anlamı |
FIRAuthErrorCodeInvalidCredential |
Sağlanan kimlik bilgisinin geçersiz olduğunu belirtir. Bu durum, kodun süresi dolmuş veya hatalı biçimlendirilmiş olabilir. |
FIRAuthErrorCodeInvalidEmail |
Kimlik bilgisi EmailPasswordAuthCredential türündeyse e-posta adresinin hatalı olduğunu belirtir. |
FIRAuthErrorCodeWrongPassword |
Kimlik bilgileri EmailPasswordAuthCredential türündeyse, kullanıcının yanlış bir şifreyle yeniden kimlik doğrulama girişiminde bulunduğunu belirtir. |
FIRAuthErrorCodeUserMismatch |
Geçerli kullanıcı olmayan bir kullanıcıyla yeniden kimlik doğrulama girişiminde bulunulduğunu gösterir. |
FIRAuthErrorCodeOperationNotAllowed |
Kimlik bilgisinin temsil ettiği kimlik sağlayıcıya sahip hesapların etkinleştirilmediğini belirtir. Bunları Firebase konsolunun Yetkilendirme bölümünden etkinleştirebilirsiniz. |
FIRAuthErrorCodeEmailAlreadyInUse |
Kimlik bilgisi tarafından onaylanan e-postanın (ör. Facebook erişim jetonundaki e-posta) mevcut bir hesap tarafından zaten kullanıldığını ve bu oturum açma yöntemiyle kimliği yeniden doğrulanamayan e-posta adresinin zaten kullanıldığını belirtir. Bu kullanıcının e-postasını almak için fetchProvidersForEmail numaralı telefonu 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 "Her e-posta adresi için bir hesap" ayarı, Firebase konsolunda, Authentication ayarları altından etkinleştirilir. |
FIRAuthErrorCodeUserDisabled |
Kullanıcının hesabının devre dışı bırakıldığını belirtir. |
güncellemeE-postası:tamamlama:
Kod |
Anlamı |
FIRAuthErrorCodeEmailAlreadyInUse |
E-posta adresinin başka bir hesap tarafından zaten kullanıldığını belirtir. |
FIRAuthErrorCodeInvalidEmail |
E-posta adresinin hatalı biçimlendirilmiş olduğunu belirtir. |
FIRAuthErrorCodeRequiresRecentLogin |
Bir kullanıcının e-postasının güncellenmesi, güvenlik açısından hassas bir işlemdir ve kullanıcının kısa süre önce giriş yapmasını gerektirir. Bu hata, kullanıcının yakın zamanda yeterince oturum açmadığını gösterir. Sorunu çözmek için FIRUser üzerinde reauthenticateWithCredential:completion: komutunu çağırarak kullanıcının kimliğini yeniden doğrulayın. |
güncellemesifresi:tamamlanma:
Kod |
Anlamı |
FIRAuthErrorCodeOperationNotAllowed |
Yöneticinin, belirtilen kimlik sağlayıcıyla oturum açmayı devre dışı bıraktığını belirtir. |
FIRAuthErrorCodeRequiresRecentLogin |
Kullanıcı şifresinin güncellenmesi, güvenlik açısından hassas bir işlemdir ve kullanıcının yakın zamanda giriş yapmasını gerektirir. Bu hata, kullanıcının yakın zamanda yeterince oturum açmadığını gösterir. Sorunu çözmek için FIRUser üzerinde reauthenticateWithCredential:completion: komutunu çağırarak kullanıcının kimliğini yeniden doğrulayın. |
FIRAuthErrorCodeWeakPassword |
Çok zayıf olarak kabul edilen bir şifre ayarlama girişimini gösterir. NSError.userInfo sözlük nesnesindeki NSLocalizedFailureReasonErrorKey alanı, kullanıcıya gösterilebilecek daha ayrıntılı açıklama içerir. |
linkWithCredential:complete:
Kod |
Anlamı |
FIRAuthErrorCodeProviderAlreadyLinked |
Bu hesaba zaten bağlı olan türdeki sağlayıcıyı bağlama girişimini gösterir. |
FIRAuthErrorCodeCredentialAlreadyInUse |
Farklı bir Firebase hesabına zaten bağlanmış bir kimlik bilgisiyle bağlantı kurma girişimini gösterir. |
FIRAuthErrorCodeOperationNotAllowed |
Kimlik bilgisinin temsil ettiği kimlik sağlayıcıya sahip hesapların etkinleştirilmediğini belirtir. Bunları Firebase konsolunun Yetkilendirme bölümünden etkinleştirebilirsiniz. |
Bu yöntem ayrıca updateEmail:completion:
ve
FIRUser
tarihinde updatePassword:completion:
.
linkFromProvider:complete:
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-posta güncelleme, kullanıcının yakın zamanda giriş yapması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. Sorunu çözmek için FIRUser üzerinde reauthenticateWithCredential:completion: komutunu çağırarak kullanıcının kimliğini yeniden doğrulayın. |
sendEmailDoğrulamaWithTamamlandı:
Kod |
Anlamı |
FIRAuthErrorCodeUserNotFound |
Kullanıcı hesabının bulunamadığını gösterir. |
deleteWithTamamlandı:
Kod |
Anlamı |
FIRAuthErrorCodeRequiresRecentLogin |
Kullanıcı hesabının silinmesi, kullanıcının yakın zamanda giriş yapması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. Sorunu çözmek için FIRUser üzerinde reauthenticateWithCredential:completion: komutunu çağırarak kullanıcının kimliğini yeniden doğrulayın. |