Halaman ini memberikan bantuan pemecahan masalah dan jawaban atas pertanyaan umum (FAQ) tentang penggunaan Firebase Authentication. Jika tidak dapat menemukan hal yang Anda cari atau membutuhkan bantuan lainnya, hubungi dukungan Firebase.
Wilayah mana saja yang didukung untuk autentikasi dengan ponsel?
Firebase Authentication mendukung verifikasi nomor telepon secara global, tetapi tidak semua jaringan dapat memberikan pesan verifikasi dengan andal. Wilayah berikut memiliki tingkat pengiriman yang baik, dan diharapkan dapat berfungsi dengan baik untuk autentikasi ponsel. Sebagai informasi, beberapa operator tidak tersedia di suatu wilayah karena tingkat keberhasilan pengiriman yang buruk.
| Region | Kode |
|---|---|
| AD | Andorra |
| AE | Uni Emirat Arab |
| AF | Afganistan |
| AG | Antigua dan Barbuda |
| AL | Albania |
| AM | Armenia |
| AO | Angola |
| AR | Argentina |
| AS | Samoa Amerika |
| AT | Austria |
| AU | Australia |
| AW | Aruba |
| AZ | Azerbaijan |
| BA | Bosnia-Herzegovina |
| BB | Barbados |
| BD | Bangladesh |
| BE | Belgia |
| BF | Burkina Faso |
| BG | Bulgaria |
| BJ | Benin |
| BM | Bermuda |
| BN | Brunei |
| BO | Bolivia |
| BR | Brasil |
| BS | Bahama |
| BT | Bhutan |
| BW | Botswana |
| BY | Belarus |
| BZ | Belize |
| CA | Kanada |
| CD | Kongo, (Kinshasa) |
| CF | Republik Afrika Tengah |
| CG | Kongo (Brazzaville) |
| CH | Swiss |
| CI | Côte d'Ivoire |
| CK | Kepulauan Cook |
| CL | Cile |
| CM | Kamerun |
| CO | Kolombia |
| CR | Kosta Rika |
| CV | Tanjung Verde |
| CW | Curaçao |
| CY | Siprus |
| CZ | Republik Ceko |
| DE | Jerman |
| DJ | Djibouti |
| DK | Denmark |
| DM | Dominika |
| DO | Republik Dominika |
| DZ | Aljazair |
| EC | Ekuador |
| EG | Mesir |
| ES | Spanyol |
| ET | Etiopia |
| FI | Finlandia |
| FJ | Fiji |
| FK | Kepulauan Falkland (Malvinas) |
| FM | Mikronesia, Negara Federasi |
| FO | Kepulauan Faroe |
| FR | Prancis |
| GA | Gabon |
| GB | Inggris Raya |
| GD | Grenada |
| GE | Georgia |
| GF | Guyana Prancis |
| GG | Guernsey |
| GH | Ghana |
| GI | Gibraltar |
| GL | Greenland |
| GM | Gambia |
| GP | Guadeloupe |
| GQ | Guinea Ekuatorial |
| GR | Yunani |
| GT | Guatemala |
| GY | Guyana |
| HK | Hong Kong, SAR China |
| HN | Honduras |
| HR | Kroasia |
| HT | Haiti |
| HU | Hungaria |
| ID | Indonesia |
| IE | Irlandia |
| IL | Israel |
| IM | Pulau Man |
| IN | India |
| IQ | Irak |
| IT | Italia |
| JE | Jersey |
| JM | Jamaika |
| JO | Yordania |
| JP | Jepang |
| KE | Kenya |
| KG | Kirgizstan |
| KH | Kamboja |
| KM | Komoro |
| KN | Saint Kitts dan Nevis |
| KR | Korea Selatan |
| KW | Kuwait |
| KY | Kepulauan Cayman |
| KZ | Kazakhstan |
| LA | Republik Demokratis Rakyat Laos |
| LB | Lebanon |
| LC | Santa Lusia |
| LI | Liechtenstein |
| LK | Sri Lanka |
| LS | Lesotho |
| LT | Lituania |
| LU | Luksemburg |
| LV | Latvia |
| LY | Libya |
| MA | Maroko |
| MD | Moldova |
| ME | Montenegro |
| MF | Saint-Martin (bagian Prancis) |
| MG | Madagaskar |
| MK | Makedonia, Republik |
| MM | Myanmar |
| MN | Mongolia |
| MO | Makau, SAR China |
| MS | Montserrat |
| MT | Malta |
| MU | Mauritius |
| MW | Malawi |
| MX | Meksiko |
| MY | Malaysia |
| MZ | Mozambik |
| NA | Namibia |
| NC | Kaledonia Baru |
| NE | Niger |
| NF | Kepulauan Norfolk |
| NG | Nigeria |
| NI | Nikaragua |
| NL | Belanda |
| NO | Norwegia |
| NP | Nepal |
| NZ | Selandia Baru |
| OM | Oman |
| PA | Panama |
| PE | Peru |
| PG | Papua Nugini |
| PH | Filipina |
| PK | Pakistan |
| PL | Polandia |
| PM | Saint Pierre dan Miquelon |
| PR | Puerto Riko |
| PS | Palestina |
| PT | Portugal |
| PY | Paraguay |
| QA | Qatar |
| RE | Reunion |
| RO | Rumania |
| RS | Serbia |
| RU | Federasi Rusia |
| RW | Rwanda |
| SA | Arab Saudi |
| SC | Seychelles |
| SE | Swedia |
| SG | Singapura |
| SH | Saint Helena |
| SI | Slovenia |
| SK | Slovakia |
| SL | Sierra Leone |
| SN | Senegal |
| SR | Suriname |
| ST | Sao Tome dan Principe |
| SV | El Salvador |
| SZ | eSwatini |
| TC | Kepulauan Turks dan Caicos |
| TG | Togo |
| TH | Thailand |
| TL | Timor Leste |
| TM | Turkmenistan |
| TO | Tonga |
| TR | Turki |
| TT | Trinidad dan Tobago |
| TW | Taiwan, Republik China |
| TZ | Tanzania, Republik Persatuan |
| UA | Ukraina |
| UG | Uganda |
| US | Amerika Serikat |
| UY | Uruguay |
| UZ | Uzbekistan |
| VC | Saint Vincent dan Grenadines |
| VE | Venezuela (Republik Bolivar) |
| VG | Kepulauan Virgin Britania Raya |
| VI | Kepulauan Virgin, AS |
| VN | Vietnam |
| WS | Samoa |
| YE | Yaman |
| YT | Mayotte |
| ZA | Afrika Selatan |
| ZM | Zambia |
| ZW | Zimbabwe |
Apa yang terjadi dengan SMS tanpa biaya pada paket harga Spark?
Mulai September 2024, untuk meningkatkan keamanan dan kualitas layanan Autentikasi dengan Ponsel, project Firebase harus ditautkan ke akun Cloud Billing untuk mengaktifkan dan menggunakan Layanan SMS.
Bagaimana cara mencegah penyalahgunaan SMS saat menggunakan autentikasi ponsel?
Untuk membantu melindungi project Anda dari traffic pumping SMS dan penyalahgunaan API, lakukan langkah-langkah berikut:
Pertimbangkan untuk menetapkan kebijakan wilayah SMS
Lihat penggunaan SMS regional.
Cari wilayah dengan jumlah SMS yang dikirim dalam jumlah sangat tinggi dan jumlah SMS terverifikasi yang sangat rendah (atau nol). Rasio terverifikasi/terkirim adalah tingkat keberhasilan Anda. Tingkat keberhasilan yang sehat biasanya berkisar 70-85% karena SMS bukanlah protokol pengiriman yang dijamin, dan beberapa wilayah dapat mengalami penyalahgunaan. Tingkat keberhasilan di bawah 50% berarti banyak SMS yang dikirim, tetapi sedikit login yang berhasil, yang merupakan indikator umum oleh pihak tidak bertanggung jawab dan traffic pumping SMS.
Gunakan Kebijakan Wilayah SMS untuk menolak wilayah SMS yang memiliki tingkat keberhasilan rendah, atau hanya mengizinkan wilayah tertentu jika aplikasi Anda hanya ditujukan untuk distribusi di pasar tertentu.
Membatasi domain autentikasi yang diotorisasi
Gunakan
dasbor setelan Authentication
untuk mengelola domain yang diotorisasi. Domain localhost ditambahkan secara default ke domain autentikasi yang disetujui untuk menyederhanakan pengembangan. Pertimbangkan untuk menghapus
localhost dari domain yang diotorisasi di project produksi Anda untuk
mencegah pihak tidak bertanggung jawab menjalankan kode di localhost mereka untuk mengakses project produksi.
Mengaktifkan dan menerapkan App Check
Aktifkan App Check untuk membantu melindungi project Anda dari penyalahgunaan API dengan membuktikan bahwa permintaan hanya berasal dari aplikasi yang terkait dengan project Anda.
Untuk menggunakan App Check dengan Firebase Authentication, Anda harus mengupgrade ke Firebase Authentication with Identity Platform.
Perlu diingat bahwa Anda harus menerapkan App Check untuk Authentication di konsol Firebase (pertimbangkan untuk memantau traffic sebelum menerapkannya). Selain itu, periksa kembali daftar situs yang disetujui reCAPTCHA Enterprise untuk memvalidasi bahwa daftar tersebut hanya berisi situs produksi Anda, dan daftar aplikasi yang terdaftar untuk project Anda di App Check akurat.
Perhatikan bahwa App Check membantu melindungi dari serangan otomatis dengan menyatakan bahwa panggilan tersebut berasal dari salah satu aplikasi terdaftar Anda. Pengujian ini tidak mencegah pengguna menggunakan aplikasi Anda dengan cara yang tidak diinginkan (misalnya, memulai atau tidak menyelesaikan alur login untuk menghasilkan SMS terkirim).
Apakah nomor telepon yang ditransfer ke operator baru didukung oleh autentikasi ponsel?
Saat ini, nomor yang ditransfer di antara operator akan mengakibatkan semua SMS tidak dapat dikirim kepada pengguna akhir tersebut. Untuk sementara belum ada solusinya dan Firebase sedang berupaya mengatasi masalah ini.
Di aplikasi Android, mengapa saya mendapatkan error berikut:
Google sign in failed ?
Google sign in failedIkuti langkah-langkah pemecahan masalah dalam FAQ ini jika mendapatkan error berikut:
GoogleFragment: Google sign in failed
com.google.android.gms.common.api.ApiException: 13: Unable to get token.
at
com.google.android.gms.internal.auth-api.zbay.getSignInCredentialFromIntent(com.google.android.gms:play-services-auth@@20.3.0:6)
Pastikan login dengan Google diaktifkan dengan benar sebagai penyedia autentikasi:
Di Firebase console, buka bagian Authentication.
Dalam tab Sign in method, nonaktifkan, lalu aktifkan kembali metode login dengan Google (meskipun sudah diaktifkan):
Buka metode login dengan Google, nonaktifkan, lalu klik Save.
Buka kembali metode login dengan Google, aktifkan, lalu klik Save.
Pastikan aplikasi Anda menggunakan file konfigurasi Firebase terbaru (
google-services.json).
Dapatkan file konfigurasi aplikasi.Periksa apakah Anda masih mendapatkan error tersebut. Jika ya, lanjutkan ke langkah pemecahan masalah berikutnya.
Pastikan klien OAuth 2.0 pokok yang diperlukan ada.
Di halaman Credentials di Google Cloud console, lihat bagian OAuth 2.0 Client IDs.
Jika klien OAuth 2.0 tidak ada (dan Anda telah melakukan semua langkah pemecahan masalah di atas), hubungi tim Dukungan.
Di aplikasi platform Apple, mengapa saya mendapatkan
error berikut:
You must specify <clientID> in <GIDConfiguration> ?
You must specify <clientID> in <GIDConfiguration>Ikuti langkah-langkah pemecahan masalah dalam FAQ ini jika mendapatkan error berikut:
You must specify |clientID| in |GIDConfiguration|
Pastikan login dengan Google diaktifkan dengan benar sebagai penyedia autentikasi:
Di Firebase console, buka bagian Authentication.
Dalam tab Sign in method, nonaktifkan, lalu aktifkan kembali metode login dengan Google (meskipun sudah diaktifkan):
Buka metode login dengan Google, nonaktifkan, lalu klik Save.
Buka kembali metode login dengan Google, aktifkan, lalu klik Save.
Pastikan aplikasi Anda menggunakan file konfigurasi Firebase terbaru (
GoogleService-Info.plist).
Dapatkan file konfigurasi aplikasi.Periksa apakah Anda masih mendapatkan error tersebut. Jika ya, lanjutkan ke langkah pemecahan masalah berikutnya.
Pastikan klien OAuth 2.0 pokok yang diperlukan ada.
Di halaman Credentials di Google Cloud console, lihat bagian OAuth 2.0 Client IDs.
Jika klien OAuth 2.0 tidak ada (dan Anda telah melakukan semua langkah pemecahan masalah di atas), hubungi tim Dukungan.
Di aplikasi web, mengapa saya mendapatkan error berikut:
AuthErrorCode.INVALID_OAUTH_CLIENT_ID ?
AuthErrorCode.INVALID_OAUTH_CLIENT_IDIkuti langkah-langkah pemecahan masalah dalam FAQ ini jika mendapatkan error berikut:
AuthErrorCode.INVALID_OAUTH_CLIENT_ID
Pastikan login dengan Google diaktifkan dengan benar sebagai penyedia autentikasi:
Di Firebase console, buka bagian Authentication.
Dalam tab Sign in method, nonaktifkan, lalu aktifkan kembali metode login dengan Google (meskipun sudah diaktifkan):
Buka metode login dengan Google, nonaktifkan, lalu klik Save.
Buka kembali metode login dengan Google, aktifkan, lalu klik Save.
Selain itu, pada konfigurasi penyedia login dengan Google di bagian Authentication, pastikan secret dan client ID OAuth cocok dengan klien web yang ditampilkan di halaman Credentials di Google Cloud console (lihat bagian OAuth 2.0 Client IDs).
Di aplikasi web saya, mengapa login dengan pengalihan
gagal dan menampilkan error berikut:
This domain YOUR_REDIRECT_DOMAIN is not
authorized to run this operation ?
This domain YOUR_REDIRECT_DOMAIN is not
authorized to run this operationIkuti langkah-langkah pemecahan masalah dalam FAQ ini jika mendapatkan error berikut:
This domain YOUR_REDIRECT_DOMAIN is not authorized to run this operation.
Error ini kemungkinan besar terjadi karena domain pengalihan Anda tidak tercantum sebagai domain yang diizinkan untuk Firebase Authentication, atau kunci API yang Anda gunakan dengan Layanan Firebase Authentication tidak valid.
Pertama, pastikan YOUR_REDIRECT_DOMAIN ada dalam daftar domain yang diizinkan untuk project Firebase Anda. Jika domain pengalihan Anda sudah tercantum di sana, lanjutkan untuk memecahkan masalah kunci API yang tidak valid.
Secara default, Firebase Authentication JS SDK bergantung pada kunci API untuk project Firebase
Anda yang diberi label sebagai Browser key, dan menggunakan kunci ini untuk memverifikasi bahwa
URL alihan login valid sesuai dengan daftar domain yang diizinkan.
Authentication mendapatkan kunci API ini, bergantung pada cara Anda mengakses Authentication SDK:
Jika Anda menggunakan helper Auth yang disediakan Hosting untuk memproses login pengguna dengan Authentication JS SDK, Firebase akan otomatis mendapatkan kunci API Anda bersama konfigurasi Firebase lainnya setiap kali Anda men-deploy ke Firebase Hosting. Pastikan bahwa
authDomaindi aplikasi webfirebaseConfigAnda dikonfigurasi dengan benar untuk menggunakan salah satu domain untuk situs Hosting tersebut. Anda dapat memverifikasinya dengan membukahttps://authDomain__/firebase/init.json, dan memeriksa apakahprojectIdcocok denganfirebaseConfigAnda.Jika Anda menghosting sendiri kode login, Anda dapat menggunakan file
__/firebase/init.jsonuntuk menyediakan konfigurasi Firebase ke helper Pengalihan Authentication JS SDK yang dihosting sendiri. Kunci API danprojectIdyang tercantum dalam file konfigurasi ini harus cocok dengan aplikasi webfirebaseConfigAnda.
Periksa untuk memastikan kunci API ini belum dihapus: Buka panel APIs & Services > Credentials di Google Cloud console tempat semua Kunci API untuk project Anda akan dicantumkan.
Jika
Browser keybelum dihapus, periksa hal-hal berikut:Pastikan Firebase Authentication API ada dalam daftar API yang diizinkan untuk kunci yang akan diakses (pelajari lebih lanjut pembatasan API untuk kunci API).
Jika Anda menghosting sendiri kode login, pastikan kunci API yang tercantum dalam file
__/firebase/init.jsoncocok dengan kunci API di konsol Google Cloud. Perbaiki kunci dalam file, jika perlu, lalu deploy ulang aplikasi Anda.Jika
Browser keytelah dihapus, Anda dapat meminta Firebase membuat kunci API baru untuk Anda: Di konsol Firebase, bukasettings > Setelan project , lalu di bagian Your apps, klik aplikasi web Anda. Tindakan ini akan otomatis membuat kunci API yang dapat Anda lihat di bagian SDK setup and configuration untuk aplikasi web Anda.
Perhatikan bahwa di konsol Google Cloud, kunci API baru ini tidak akan dipanggil
Browser key; sebagai gantinya, nama tersebut akan sama dengan nama panggilan Aplikasi Web Firebase Anda. Jika Anda memutuskan untuk menambahkan pembatasan API ke kunci API baru ini, pastikan Firebase Authentication API tercantum dalam daftar API yang diizinkan.Setelah kunci API baru Anda dibuat, selesaikan langkah-langkah yang berlaku di bawah ini:
Jika Anda menggunakan URL Hosting yang dicadangkan, deploy ulang aplikasi Anda ke Firebase agar bisa otomatis mendapatkan kunci API baru dengan konfigurasi Firebase Anda lainnya.
Jika Anda menghosting sendiri kode login, salin kunci API baru dan tambahkan ke file
__/firebase/init.json, lalu deploy ulang aplikasi Anda.
Bagaimana cara membuat klien web OAuth secara manual?
Buka halaman Credentials di Google Cloud console.
Di bagian atas halaman, pilih Create credentials > OAuth client ID.
Jika diminta untuk mengonfigurasi layar izin, ikuti petunjuk di layar, lalu lanjutkan dengan langkah FAQ berikut.
Buat klien web OAuth:
Untuk Application Type, pilih Web application.
Untuk Authorized JavaScript Origins, tambahkan berikut ini:
http://localhosthttp://localhost:5000https://PROJECT_ID.firebaseapp.comhttps://PROJECT_ID.web.app
Untuk Authorized Redirect URIs, tambahkan berikut ini:
https://PROJECT_ID.firebaseapp.com/__/auth/handlerhttps://PROJECT_ID.web.app/__/auth/handler
Simpan klien OAuth.
Salin rahasia klien dan client ID OAuth yang baru ke papan klip.
Di Firebase console, buka bagian Authentication.
Dalam tab Sign in method, buka penyedia Google sign-in, lalu tempel secret dan client ID server web yang baru Anda buat dan salin dari Google Cloud console. Klik Save.
Bagaimana %APP_NAME% ditentukan untuk
template email pada email konfirmasi yang dapat dikirim kepada pengguna saat
mereka mendaftar menggunakan alamat email dan sandi?
Sebelum Desember 2022, %APP_NAME% di template email diisi dengan nama merek OAuth yang disediakan secara otomatis setiap kali aplikasi Android didaftarkan di project Firebase. Sekarang, karena merek OAuth hanya disediakan jika login dengan Google diaktifkan, penentuan %APP_NAME% dijelaskan sebagai berikut:
Jika nama merek OAuth tersedia,
%APP_NAME%dalam template email akan menjadi nama merek OAuth (sama seperti perilaku sebelum Desember 2022).Jika nama merek OAuth tidak tersedia,
%APP_NAME%di template email ditentukan sebagai berikut:Untuk aplikasi web,
%APP_NAME%akan menjadi nama situs Firebase Hosting default (nilai yang diawali dengan.firebaseapp.comdan.web.appserta biasanya project ID Firebase).Untuk aplikasi seluler:
Jika nama paket Android atau ID paket iOS ada dalam permintaan,
%APP_NAME%akan menjadi nama aplikasi yang digunakan di Play Store atau App Store (berturut-turut).Atau,
%APP_NAME%akan menjadi nama situs Firebase Hosting default (nilai yang diawali dengan.firebaseapp.comdan.web.app, serta biasanya project ID Firebase).
Perhatikan bahwa jika pencarian nama situs Firebase Hosting default gagal, alternatif terakhir adalah menggunakan project ID Firebase sebagai
%APP_NAME%.