Authentication yöntemlerindeki tamamlama geri çağırması, boş olmayan bir NSError bağımsız değişkeni alırsa hata oluşmuştur. Üretim kodunuzda uygun hata işleme mantığına göndermek için hata kodunu aşağıdaki yaygın hatalara ve yönteme özgü hatalara göre kontrol edin.
Bazı hatalar belirli kullanıcı işlemleriyle çözülebilir. Örneğin, FIRAuthErrorCodeUserTokenExpired hatası kullanıcının tekrar oturum açmasıyla, FIRAuthErrorCodeWrongPassword hatası ise kullanıcının doğru şifreyi girmesiyle çözülebilir.
FIRAuthErrorCodeNetworkError veya FIRAuthErrorCodeTooManyRequests durumları hariç olmak üzere, başarısız olan bir işlemi aynı bağımsız değişkenlerle yeniden denemek hiçbir zaman 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 platformlar arası bir 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çin hazırlanmıştır.
NSUnderlyingErrorKey, söz konusu hataya neden olan temel hatayı içerir (temel hata varsa).
Yukarıda listelenen ana alanlara ek olarak, hataları teşhis ederken yararlı bulabileceğiniz başka alanlar da userInfo sözlüğünde yer alabilir.
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 durum, kullanıcı hesabının silinmesi halinde ortaya çıkabilir. |
FIRAuthErrorCodeUserTokenExpired |
Mevcut 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ı istemeniz gerekir. |
FIRAuthErrorCodeTooManyRequests |
Arayan cihazdan Firebase Authentication sunucularına anormal sayıda istek gönderildikten 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ıyla Firebase Authentication'ı kullanmaya yetkili olmadığını gösterir. Google API Console'a gidip kimlik bilgileri sekmesinde, kullandığınız API anahtarının uygulamanızın paket kimliğiyle izin verilenler listesine eklendiğini kontrol edin. |
FIRAuthErrorCodeKeychainError |
Anahtarlığa erişilirken bir hata oluştuğunu gösterir. NSError.userInfo sözlüğündeki NSLocalizedFailureReasonErrorKey ve NSUnderlyingErrorKey alanlarında karşılaşılan hata hakkında daha fazla bilgi yer alır. |
FIRAuthErrorCodeInternalError |
Dahili bir hata oluştuğunu gösterir. Lütfen NSError nesnesinin tamamıyla birlikte hatayı bildirin. |
Yönteme özgü hata kodları
FIRAuth
fetchProvidersForEmail:completion:
| Kod |
Anlamı |
FIRAuthErrorCodeInvalidEmail |
E-posta adresinin hatalı olduğunu gösterir. |
signInWithEmail:password:completion:
| Kod |
Anlamı |
FIRAuthErrorCodeOperationNotAllowed |
E-posta ve şifre hesaplarının etkin olmadığını gösterir. Bu ayarları Firebase konsolunda etkinleştirin (Güvenlik > Kimlik doğrulama > Oturum açma yöntemi sekmesine gidin). |
FIRAuthErrorCodeInvalidEmail |
E-posta adresinin hatalı olduğunu gösterir. |
FIRAuthErrorCodeUserDisabled |
Kullanıcının hesabının devre dışı olduğunu gösterir. |
FIRAuthErrorCodeWrongPassword |
Kullanıcının yanlış şifreyle oturum açmaya çalıştığını gösterir. |
signInWithCredential:completion:
| Kod |
Anlamı |
FIRAuthErrorCodeInvalidCredential |
Sağlanan kimlik bilgisinin geçersiz olduğunu gösterir. Bu durum, sertifikanın süresinin dolmasından veya hatalı olmasından kaynaklanabilir. |
FIRAuthErrorCodeInvalidEmail |
Kimlik bilgisi EmailPasswordAuthCredential türündeyse e-posta adresinin hatalı olduğunu belirtir. |
FIRAuthErrorCodeOperationNotAllowed |
Kimlik bilgisiyle temsil edilen kimlik sağlayıcısı olan hesapların etkinleştirilmediğini gösterir. Bu ayarları Firebase konsolunda etkinleştirin (Güvenlik > Kimlik doğrulama > Oturum açma yöntemi sekmesine gidin). |
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ğinin doğrulanamadığını gösterir. Bu kullanıcının e-postası için fetchProvidersForEmail işlevini çağırın ve ardından döndürülen oturum açma sağlayıcılarından biriyle oturum açmasını isteyin. Bu hata yalnızca Firebase konsolunda "E-posta adresi başına bir hesap" ayarı etkinleştirilmişse gösterilir (Güvenlik > Kimlik Doğrulama > Ayarlar sekmesine gidin). |
FIRAuthErrorCodeUserDisabled |
Kullanıcının hesabının devre dışı olduğunu gösterir. |
FIRAuthErrorCodeWrongPassword |
Kimlik bilgisi EmailPasswordAuthCredential türündeyse kullanıcının yanlış şifreyle oturum açmaya çalıştığını gösterir. |
signInAnonymouslyWithCompletion:
| Kod |
Anlamı |
FIRAuthErrorCodeOperationNotAllowed |
Anonim hesapların etkin olmadığını gösterir. Bu ayarları Firebase konsolunda etkinleştirin (Güvenlik > Kimlik doğrulama > Oturum açma yöntemi sekmesine gidin). |
signInWithCustomToken:completion:
| 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 gösterir. |
createUserWithEmail:password:completion:
| Kod |
Anlamı |
FIRAuthErrorCodeInvalidEmail |
E-posta adresinin hatalı olduğunu gösterir. |
FIRAuthErrorCodeEmailAlreadyInUse |
Kaydolma denemesinde kullanılan e-posta adresinin zaten mevcut olduğunu gösterir. Kullanıcının hangi oturum açma mekanizmalarını kullandığını kontrol etmek için fetchProvidersForEmail ile iletişime geçin ve kullanıcıyı bu mekanizmalardan biriyle oturum açmaya yönlendirin. |
FIRAuthErrorCodeOperationNotAllowed |
E-posta ve şifre hesaplarının etkin olmadığını gösterir. Bu ayarları Firebase konsolunda etkinleştirin (Güvenlik > Kimlik doğrulama > Oturum açma yöntemi sekmesine gidin). |
FIRAuthErrorCodeWeakPassword |
Çok zayıf olduğu düşünülen bir şifre ayarlama girişimini gösterir. NSError.userInfo sözlük nesnesindeki NSLocalizedFailureReasonErrorKey alanı, kullanıcıya gösterilebilecek daha ayrıntılı bir açıklama içerir. |
signOut:
| Kod |
Anlamı |
FIRAuthErrorCodeKeychainError |
Anahtar zincirine erişilirken bir hata oluştuğu belirtildi. NSError.userInfo sözlüğündeki NSLocalizedFailureReasonErrorKey ve NSUnderlyingErrorKey alanlarında karşılaşılan hata hakkında daha fazla bilgi yer alır. |
FIRUser
FIRUser işlemleriyle ilgili sık karşılaşılan hatalar
| Kod |
Anlamı |
FIRAuthErrorCodeInvalidUserToken |
Oturum bilgilerini içeren, giriş yapmış kullanıcının yenileme jetonunun geçersiz olduğunu gösterir. Kullanıcıdan bu cihazda tekrar oturum açmasını istemeniz gerekir. |
FIRAuthErrorCodeUserDisabled |
Kullanıcının hesabının devre dışı olduğunu ve Firebase konsolunda tekrar etkinleştirilene kadar kullanılamayacağını gösterir (Güvenlik > Kimlik doğrulama > Kullanıcılar sekmesine gidin). |
reauthenticateWithCredential:completion:
| Kod |
Anlamı |
FIRAuthErrorCodeInvalidCredential |
Sağlanan kimlik bilgisinin geçersiz olduğunu gösterir. Bu durum, sertifikanın süresinin dolmasından veya hatalı olmasından kaynaklanabilir. |
FIRAuthErrorCodeInvalidEmail |
Kimlik bilgisi EmailPasswordAuthCredential türündeyse e-posta adresinin hatalı olduğunu belirtir. |
FIRAuthErrorCodeWrongPassword |
Kimlik bilgisi EmailPasswordAuthCredential türündeyse kullanıcının yanlış şifreyle yeniden kimlik doğrulama girişiminde bulunduğunu gösterir. |
FIRAuthErrorCodeUserMismatch |
Mevcut kullanıcı olmayan bir kullanıcıyla yeniden kimlik doğrulama girişiminde bulunulduğunu gösterir. |
FIRAuthErrorCodeOperationNotAllowed |
Kimlik bilgisiyle temsil edilen kimlik sağlayıcısı olan hesapların etkinleştirilmediğini gösterir. Firebase konsolunda etkinleştirin (Güvenlik > Kimlik doğrulama'ya gidin). |
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 yeniden kimlik doğrulanamayacağını gösterir. Bu kullanıcının e-postası için fetchProvidersForEmail işlevini çağırın ve ardından döndürülen oturum açma sağlayıcılarından biriyle oturum açmasını isteyin. Bu hata yalnızca Firebase konsolunda "E-posta adresi başına bir hesap" ayarı etkinleştirilmişse gösterilir (Güvenlik > Kimlik Doğrulama > Ayarlar sekmesine gidin). |
FIRAuthErrorCodeUserDisabled |
Kullanıcının hesabının devre dışı olduğunu gösterir. |
updateEmail:completion:
| Kod |
Anlamı |
FIRAuthErrorCodeEmailAlreadyInUse |
E-postanın başka bir hesap tarafından zaten kullanıldığını gösterir. |
FIRAuthErrorCodeInvalidEmail |
E-posta adresinin hatalı olduğunu gösterir. |
FIRAuthErrorCodeRequiresRecentLogin |
Kullanıcının e-posta adresini güncellemek, kullanıcının yakın zamanda giriş yapmasını gerektiren, güvenlikle ilgili hassas bir işlemdir. Bu hata, kullanıcının yeterince yakın bir zamanda oturum açmadığını gösterir. Sorunu çözmek için reauthenticateWithCredential:completion: üzerinde FIRUser çağırarak kullanıcının kimliğini yeniden doğrulayın. |
updatePassword:completion:
| Kod |
Anlamı |
FIRAuthErrorCodeOperationNotAllowed |
Yöneticinin, belirtilen kimlik sağlayıcıyla oturum açmayı devre dışı bıraktığını gösterir. |
FIRAuthErrorCodeRequiresRecentLogin |
Kullanıcı şifresini güncellemek, kullanıcının yakın zamanda oturum açmasını gerektiren, güvenlikle ilgili hassas bir işlemdir. Bu hata, kullanıcının yeterince yakın bir zamanda oturum açmadığını gösterir. Sorunu çözmek için reauthenticateWithCredential:completion: üzerinde FIRUser çağırarak kullanıcının kimliğini yeniden doğrulayın. |
FIRAuthErrorCodeWeakPassword |
Çok zayıf olduğu düşünülen bir şifre ayarlama girişimini gösterir. NSError.userInfo sözlük nesnesindeki NSLocalizedFailureReasonErrorKey alanı, kullanıcıya gösterilebilecek daha ayrıntılı bir açıklama içerir. |
linkWithCredential:completion:
| Kod |
Anlamı |
FIRAuthErrorCodeProviderAlreadyLinked |
Bu hesaba zaten bağlı olan bir türdeki sağlayıcıyı bağlama girişimini gösterir. |
FIRAuthErrorCodeCredentialAlreadyInUse |
Daha önce farklı bir Firebase hesabıyla bağlanmış bir kimlik bilgisiyle bağlantı oluşturma girişimi olduğunu gösterir. |
FIRAuthErrorCodeOperationNotAllowed |
Kimlik bilgisiyle temsil edilen kimlik sağlayıcısı olan hesapların etkinleştirilmediğini gösterir. Bu ayarları Firebase konsolunda etkinleştirin (Güvenlik > Kimlik doğrulama > Oturum açma yöntemi sekmesine gidin). |
Bu yöntem, FIRUser üzerinde updateEmail:completion: ve updatePassword:completion: ile ilişkili hata kodları da döndürebilir.
unlinkFromProvider:completion:
| 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 adresini güncelleme, kullanıcının yakın zamanda giriş yapmasını gerektiren, güvenlikle ilgili hassas bir işlemdir. Bu hata, kullanıcının yeterince yakın bir zamanda oturum açmadığını gösterir. Sorunu çözmek için reauthenticateWithCredential:completion: üzerinde FIRUser ç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 |
Kullanıcı hesabının silinmesi, kullanıcının yakın zamanda giriş yapmasını gerektiren, güvenlikle ilgili hassas bir işlemdir. Bu hata, kullanıcının yeterince yakın bir zamanda oturum açmadığını gösterir. Sorunu çözmek için reauthenticateWithCredential:completion: üzerinde FIRUser çağırarak kullanıcının kimliğini yeniden doğrulayın. |