Menangani Error Autentikasi Platform Apple Firebase
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Apabila callback penyelesaian pada metode Authentication menerima argumen NSError yang
tidak bernilai nol, berarti telah terjadi error. Untuk menjalankan logika penanganan error yang sesuai
dalam kode produksi, cocokkan kode error itu dengan error umum dan error yang terjadi
karena metode tertentu, sesuai dengan yang tercantum di bawah ini.
Sebagian error dapat diselesaikan dengan tindakan tertentu dari pengguna, misalnya, FIRAuthErrorCodeUserTokenExpired dapat diselesaikan dengan membuat pengguna tersebut login kembali, sementara FIRAuthErrorCodeWrongPassword dengan meminta pengguna memasukkan sandi yang benar.
Kecuali dalam kasus FIRAuthErrorCodeNetworkError atau FIRAuthErrorCodeTooManyRequests, mencoba kembali pengoperasian yang gagal dengan argumen yang sama tidak akan pernah berhasil. Jangan membuat asumsi bahwa pengoperasian tersebut berjalan di sisi server atau tidak.
Saat menyelidiki atau membuat log error, tinjau kamus userInfo.
FIRAuthErrorNameKey berisi string nama error lintas platform yang bisa dipakai untuk mengidentifikasi error.
NSLocalizedDescriptionKey berisi deskripsi error. Deskripsi ini ditujukan untuk developer, bukan pengguna.
NSUnderlyingErrorKey berisi error yang mendasar dan menyebabkan error terkait, jika error yang mendasar tersebut memang ada.
Selain kolom utama yang tercantum di atas, kolom lain dalam kamus userInfo juga dapat Anda gunakan untuk mendiagnosis error.
Kode error yang digunakan oleh semua metode API
Kode
Arti
FIRAuthErrorCodeNetworkError
Mengindikasikan terjadinya error jaringan selama operasi berlangsung.
FIRAuthErrorCodeUserNotFound
Mengindikasikan bahwa akun pengguna tidak ditemukan. Hal ini bisa terjadi jika akun pengguna telah dihapus.
FIRAuthErrorCodeUserTokenExpired
Mengindikasikan bahwa token pengguna saat ini sudah tidak berlaku, misalnya pengguna mungkin telah mengganti sandi akun pada perangkat lain. Anda harus meminta pengguna untuk login kembali pada perangkat ini.
FIRAuthErrorCodeTooManyRequests
Mengindikasikan bahwa permintaan telah diblokir setelah permintaan dengan jumlah yang tidak normal telah diajukan dari perangkat pemanggil ke server Firebase Authentication. Coba lagi setelah beberapa saat.
FIRAuthErrorCodeInvalidAPIKey
Mengindikasikan bahwa aplikasi telah dikonfigurasikan dengan kunci API yang tidak valid.
FIRAuthErrorCodeAppNotAuthorized
Mengindikasikan bahwa Aplikasi tidak diberi wewenang untuk menggunakan Firebase Authentication dengan Kunci API yang disediakan. Buka Konsol API Google dan lihat di tab kredensial untuk mengetahui apakah kunci API yang Anda gunakan memiliki ID paket aplikasi yang diizinkan atau tidak.
FIRAuthErrorCodeKeychainError
Mengindikasikan bahwa telah terjadi error saat mengakses keychain. Kolom NSLocalizedFailureReasonErrorKey dan NSUnderlyingErrorKey dalam kamus NSError.userInfo akan berisi informasi lebih lanjut mengenai error yang ditemukan.
FIRAuthErrorCodeInternalError
Mengindikasikan terjadinya error internal. Laporkan error ini dengan keseluruhan objek NSError.
Kode error karena metode tertentu
FIRAuth
fetchProvidersForEmail:completion:
Kode
Arti
FIRAuthErrorCodeInvalidEmail
Mengindikasikan bahwa format alamat email salah.
signInWithEmail:password:completion:
Kode
Arti
FIRAuthErrorCodeOperationNotAllowed
Mengindikasikan bahwa email dan sandi akun tidak diaktifkan. Aktifkan keduanya di bagian Authentication pada Firebase console.
FIRAuthErrorCodeInvalidEmail
Mengindikasikan bahwa format alamat email salah.
FIRAuthErrorCodeUserDisabled
Mengindikasikan bahwa akun pengguna dinonaktifkan.
FIRAuthErrorCodeWrongPassword
Mengindikasikan bahwa pengguna berusaha login dengan sandi yang salah.
signInWithCredential:completion:
Kode
Arti
FIRAuthErrorCodeInvalidCredential
Mengindikasikan bahwa kredensial yang diberikan tidak valid. Hal ini bisa terjadi jika kredensial sudah tidak berlaku atau dalam format yang salah.
FIRAuthErrorCodeInvalidEmail
Mengindikasikan bahwa alamat email dalam format yang salah, jika kredensial memiliki tipe EmailPasswordAuthCredential.
FIRAuthErrorCodeOperationNotAllowed
Mengindikasikan bahwa akun dengan penyedia identitas yang diwakili oleh kredensial tidak diaktifkan. Aktifkan keduanya di bagian Authentication pada Firebase console.
FIRAuthErrorCodeEmailAlreadyInUse
Mengindikasikan bahwa email yang disebutkan dalam kredensial (mis. email dalam token akses Facebook) sudah dipakai oleh akun yang sudah ada dan tidak bisa diautentikasi dengan metode login ini. Panggil fetchProvidersForEmail untuk email pengguna ini lalu minta mereka login dengan salah satu penyedia login yang ditampilkan. Error ini hanya akan ditampilkan jika setelan "Satu akun per alamat email" diaktifkan di Firebase console, di bagian setelan Authentication.
FIRAuthErrorCodeUserDisabled
Mengindikasikan bahwa akun pengguna dinonaktifkan.
FIRAuthErrorCodeWrongPassword
Mengindikasikan bahwa pengguna berusaha login dengan sandi yang salah, jika kredensial memiliki tipe EmailPasswordAuthCredential.
signInAnonymouslyWithCompletion:
Kode
Arti
FIRAuthErrorCodeOperationNotAllowed
Mengindikasikan bahwa akun anonim tidak diaktifkan. Aktifkan keduanya di bagian Authentication pada Firebase console.
signInWithCustomToken:completion:
Kode
Arti
FIRAuthErrorCodeInvalidCustomToken
Mengindikasikan terjadinya error validasi pada token kustom.
FIRAuthErrorCodeCustomTokenMismatch
Mengindikasikan bahwa akun layanan dan kunci API dimiliki oleh project yang berbeda.
createUserWithEmail:password:completion:
Kode
Arti
FIRAuthErrorCodeInvalidEmail
Mengindikasikan bahwa format alamat email salah.
FIRAuthErrorCodeEmailAlreadyInUse
Mengindikasikan bahwa email yang digunakan untuk mendaftar sudah ada. Panggil fetchProvidersForEmail untuk memeriksa mekanisme login yang digunakan pengguna dan minta pengguna untuk login dengan salah satunya.
FIRAuthErrorCodeOperationNotAllowed
Mengindikasikan bahwa email dan sandi akun tidak diaktifkan. Aktifkan keduanya di bagian Authentication pada Firebase console.
FIRAuthErrorCodeWeakPassword
Mengindikasikan upaya untuk membuat sandi yang dianggap terlalu lemah. Kolom NSLocalizedFailureReasonErrorKey di objek kamus NSError.userInfo akan berisi penjelasan yang lebih terperinci yang dapat ditampilkan kepada pengguna.
signOut:
Kode
Arti
FIRAuthErrorCodeKeychainError
Mengindikasikan terjadinya error saat mengakses keychain. Kolom NSLocalizedFailureReasonErrorKey dan NSUnderlyingErrorKey dalam kamus NSError.userInfo akan berisi informasi lebih lanjut mengenai error yang ditemukan.
FIRUser
Error umum untuk pengoperasian FIRUser
Kode
Arti
FIRAuthErrorCodeInvalidUserToken
Mengindikasikan bahwa token refresh, yang berisi informasi sesi milik pengguna yang login, tidak valid. Anda harus meminta pengguna untuk login kembali pada perangkat ini.
FIRAuthErrorCodeUserDisabled
Mengindikasikan bahwa akun pengguna dinonaktifkan dan tidak dapat dipakai hingga diaktifkan kembali dari dalam panel Pengguna di Firebase console.
reauthenticateWithCredential:completion:
Kode
Arti
FIRAuthErrorCodeInvalidCredential
Mengindikasikan bahwa kredensial yang diberikan tidak valid. Hal ini bisa terjadi jika kredensial sudah tidak berlaku atau dalam format yang salah.
FIRAuthErrorCodeInvalidEmail
Mengindikasikan bahwa alamat email dalam format yang salah, jika kredensial memiliki tipe EmailPasswordAuthCredential.
FIRAuthErrorCodeWrongPassword
Mengindikasikan bahwa pengguna berupaya untuk melakukan autentikasi ulang dengan sandi yang salah jika kredensial memiliki tipe EmailPasswordAuthCredential.
FIRAuthErrorCodeUserMismatch
Mengindikasikan bahwa sebuah upaya dilakukan untuk mengautentikasi ulang dengan pengguna yang bukan pengguna saat ini.
FIRAuthErrorCodeOperationNotAllowed
Mengindikasikan bahwa akun dengan penyedia identitas yang diwakili oleh kredensial tidak diaktifkan. Aktifkan keduanya di bagian Authentication pada Firebase console.
FIRAuthErrorCodeEmailAlreadyInUse
Mengindikasikan bahwa email yang disebut dalam kredensial (mis. email dalam token akses Facebook) sudah dipakai oleh akun yang sudah ada dan tidak bisa diautentikasi ulang dengan metode login ini. Panggil fetchProvidersForEmail untuk email pengguna ini lalu minta mereka login dengan salah satu penyedia login yang ditampilkan. Error ini hanya akan ditampilkan jika setelan "Satu akun per alamat email" diaktifkan di Firebase console, di bagian setelan Authentication.
FIRAuthErrorCodeUserDisabled
Mengindikasikan bahwa akun pengguna dinonaktifkan.
updateEmail:completion:
Kode
Arti
FIRAuthErrorCodeEmailAlreadyInUse
Mengindikasikan bahwa email telah digunakan oleh akun lain.
FIRAuthErrorCodeInvalidEmail
Mengindikasikan bahwa format alamat email salah.
FIRAuthErrorCodeRequiresRecentLogin
Memperbarui email pengguna merupakan operasi yang sensitif terhadap keamanan dan pengguna diharuskan untuk login baru-baru ini. Error ini mengindikasikan bahwa pengguna sudah lama tidak login. Untuk menyelesaikannya, lakukan autentikasi ulang pada pengguna dengan mengaktifkan reauthenticateWithCredential:completion: pada FIRUser.
updatePassword:completion:
Kode
Arti
FIRAuthErrorCodeOperationNotAllowed
Menunjukkan bahwa administrator menonaktifkan proses login dengan penyedia identitas yang ditentukan.
FIRAuthErrorCodeRequiresRecentLogin
Memperbarui sandi pengguna merupakan operasi yang sensitif terhadap keamanan dan pengguna diharuskan untuk login baru-baru ini. Error ini mengindikasikan bahwa pengguna sudah lama tidak login. Untuk menyelesaikannya, lakukan autentikasi ulang pada pengguna dengan mengaktifkan reauthenticateWithCredential:completion: pada FIRUser.
FIRAuthErrorCodeWeakPassword
Mengindikasikan upaya untuk membuat sandi yang dianggap terlalu lemah. Kolom NSLocalizedFailureReasonErrorKey di objek kamus NSError.userInfo akan berisi penjelasan yang lebih terperinci yang dapat ditampilkan kepada pengguna.
linkWithCredential:completion:
Kode
Arti
FIRAuthErrorCodeProviderAlreadyLinked
Mengindikasikan upaya untuk menghubungkan penyedia dengan tipe yang sudah dihubungkan ke akun ini.
FIRAuthErrorCodeCredentialAlreadyInUse
Mengindikasikan upaya untuk menghubungkan dengan kredensial yang telah dihubungkan dengan akun Firebase lain.
FIRAuthErrorCodeOperationNotAllowed
Mengindikasikan bahwa akun dengan penyedia identitas yang diwakili oleh kredensial tidak diaktifkan. Aktifkan keduanya di bagian Authentication pada Firebase console.
Mengindikasikan upaya untuk membatalkan tautan dengan penyedia yang tidak terkait dengan akun.
FIRAuthErrorCodeRequiresRecentLogin
Memperbarui email merupakan operasi yang sensitif terhadap keamanan dan pengguna diharuskan untuk login baru-baru ini. Error ini mengindikasikan bahwa pengguna sudah lama tidak login. Untuk menyelesaikannya, lakukan autentikasi ulang pada pengguna dengan mengaktifkan reauthenticateWithCredential:completion: pada FIRUser.
sendEmailVerificationWithCompletion:
Kode
Arti
FIRAuthErrorCodeUserNotFound
Mengindikasikan bahwa akun pengguna tidak ditemukan.
deleteWithCompletion:
Kode
Arti
FIRAuthErrorCodeRequiresRecentLogin
Menghapus akun pengguna merupakan operasi yang sensitif terhadap keamanan dan memerlukan pengguna untuk login baru-baru ini. Error ini mengindikasikan bahwa pengguna sudah lama tidak login. Untuk menyelesaikannya, lakukan autentikasi ulang pada pengguna dengan mengaktifkan reauthenticateWithCredential:completion: pada FIRUser.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-09-05 UTC."],[],[],null,[]]