Panduan
Cara menggunakan Firebase Authentication di Capacitor
Menggunakan @capgo/capacitor-firebase-authentication
Plugin Capacitor untuk Firebase Authentication.
Instal
bun add @capgo/capacitor-firebase-authentication
bunx cap sync
bunx cap sync menyalin code native plugin ke dalam proyek native Anda. Jalankan kembali setiap kali melakukan upgrade plugin.
Impor
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
Sekilas tentang API
| Metode | Deskripsi |
|---|---|
applyActionCode |
Menerapkan verifikasi code yang dikirim ke pengguna lewat email. |
confirmPasswordReset |
Menyelesaikan proses reset password. |
confirmVerificationCode |
Menyelesaikan proses verifikasi nomor telepon. |
createUserWithEmailAndPassword |
Membuat akun pengguna baru dengan email dan kata sandi. Jika akun baru berhasil dibuat, pengguna akan otomatis masuk. |
deleteUser |
Menghapus dan logout pengguna. |
fetchSignInMethodsForEmail |
Mengambil metode sign-in untuk alamat email. |
getCurrentUser |
Mengambil data pengguna yang sedang login. |
getPendingAuthResult |
Mengembalikan SignInResult jika aplikasi Anda memulai alur sign-in web dan OS membersihkan aplikasi saat berada di background. |
getIdToken |
Mengambil Firebase Auth ID Token untuk user yang sedang login. |
getIdTokenResult |
Mengembalikan JSON Web Token (JWT) hasil deserialisasi yang dipakai untuk mengidentifikasi user ke layanan Firebase. |
getRedirectResult |
Mengembalikan SignInResult dari alur sign-in berbasis redirect. |
getTenantId |
Dapatkan tenant id. |
isSignInWithEmailLink |
Memeriksa apakah link masuk adalah link sign-in dengan email yang cocok untuk signInWithEmailLink. |
linkWithApple |
Menghubungkan akun pengguna dengan penyedia autentikasi Apple. |
linkWithEmailAndPassword |
Menghubungkan akun pengguna dengan penyedia autentikasi Email. |
linkWithEmailLink |
Menghubungkan akun pengguna dengan penyedia autentikasi Email. |
linkWithFacebook |
Menghubungkan akun pengguna dengan provider autentikasi Facebook. |
linkWithGameCenter |
Menghubungkan akun pengguna dengan provider autentikasi Game Center. |
linkWithGithub |
Menghubungkan akun pengguna dengan penyedia autentikasi GitHub. |
linkWithGoogle |
Menghubungkan akun pengguna dengan penyedia autentikasi Google. |
linkWithMicrosoft |
Menghubungkan akun pengguna dengan penyedia autentikasi Microsoft. |
linkWithOpenIdConnect |
Menghubungkan akun pengguna dengan provider OpenID Connect. |
linkWithPhoneNumber |
Menghubungkan akun pengguna dengan provider autentikasi nomor telepon. |
linkWithPlayGames |
Menghubungkan akun pengguna dengan penyedia autentikasi Play Games. |
linkWithTwitter |
Menghubungkan akun pengguna dengan penyedia autentikasi Twitter. |
linkWithYahoo |
Menghubungkan akun pengguna dengan penyedia autentikasi Yahoo. |
reload |
Memuat ulang data akun pengguna, jika sudah login. |
revokeAccessToken |
Mencabut access token yang diberikan. Saat ini hanya mendukung access token Apple OAuth. |
sendEmailVerification |
Mengirim email verifikasi ke pengguna yang sedang login. |
sendPasswordResetEmail |
Mengirim email reset password. |
sendSignInLinkToEmail |
Mengirim link sign-in ke pengguna dengan email yang ditentukan. |
setLanguageCode |
Mengatur bahasa code untuk operasi auth. |
setPersistence |
Mengatur tipe persistensi untuk sesi auth yang tersimpan. |
setTenantId |
Mengatur tenant id. |
signInAnonymously |
Masuk sebagai pengguna anonim. |
signInWithApple |
Memulai alur sign-in Apple. |
signInWithCustomToken |
Memulai alur sign-in Custom Token. |
signInWithEmailAndPassword |
Memulai alur sign-in menggunakan email dan password. |
signInWithEmailLink |
Login menggunakan email dan link email sign-in. |
signInWithFacebook |
Memulai alur login Facebook. |
signInWithGameCenter |
Memulai alur login Game Center. |
signInWithGithub |
Memulai alur login GitHub. |
signInWithGoogle |
Memulai alur login Google. |
signInWithMicrosoft |
Memulai alur login Microsoft. |
signInWithOpenIdConnect |
Memulai alur login OpenID Connect. |
signInWithPhoneNumber |
Memulai alur login menggunakan nomor telepon. |
signInWithPlayGames |
Memulai alur login Play Games. |
signInWithTwitter |
Memulai alur login Twitter. |
signInWithYahoo |
Memulai alur login Yahoo. |
signOut |
Memulai alur logout. |
unlink |
Memutus tautan provider dari akun pengguna. |
updateEmail |
Memperbarui alamat email pengguna yang sedang login. |
updatePassword |
Memperbarui password pengguna yang sedang login. |
updateProfile |
Memperbarui data profil pengguna. |
useAppLanguage |
Menetapkan bahasa yang ditampilkan ke pengguna code sebagai bahasa default aplikasi. |
useEmulator |
Instrumenkan aplikasi Anda untuk berkomunikasi dengan emulator Authentication. |
verifyBeforeUpdateEmail |
Memverifikasi alamat email baru sebelum memperbarui email pengguna yang sedang login. |
checkAppTrackingTransparencyPermission |
Memeriksa status app tracking transparency saat ini. |
requestAppTrackingTransparencyPermission |
Membuka dialog sistem untuk memberikan izin app tracking transparency. |
Contoh
applyActionCode()
Menerapkan verifikasi code yang dikirim ke pengguna lewat email.
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.applyActionCode({ oobCode: 'oob-code' });
confirmPasswordReset()
Menyelesaikan proses reset password.
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.confirmPasswordReset({
oobCode: 'oob-code',
newPassword: 'new-password',
});
confirmVerificationCode()
Menyelesaikan proses verifikasi nomor telepon.
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
const result = await FirebaseAuthentication.confirmVerificationCode({
verificationId: 'phoneCodeSent',
verificationCode: 'phoneCodeSent',
});
// The result holds sensitive values: use it without logging it.
createUserWithEmailAndPassword()
Membuat akun pengguna baru dengan email dan kata sandi. Jika akun baru berhasil dibuat, pengguna akan otomatis masuk.
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
const result = await FirebaseAuthentication.createUserWithEmailAndPassword({
email: 'user@example.com',
password: 'password',
});
// The result holds sensitive values: use it without logging it.
deleteUser()
Menghapus dan logout pengguna.
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.deleteUser();
fetchSignInMethodsForEmail()
Mengambil metode sign-in untuk alamat email.
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
const result = await FirebaseAuthentication.fetchSignInMethodsForEmail({ email: 'user@example.com' });
console.log(result);
Tabel di atas mencantumkan 59 metode inti. Helper listener, versi, dan kontrak lengkap setiap metode didokumentasikan di repositori GitHub.
Mendengarkan event
addListener mengembalikan sebuah handle. Panggil handle.remove() saat layar di-unmount, atau FirebaseAuthentication.removeAllListeners() untuk menghapus semua listener.
Referensi lengkap
Lanjutkan dari bagian Menggunakan @capgo/capacitor-firebase-authentication
Jika Anda menggunakan Menggunakan @capgo/capacitor-firebase-authentication untuk merencanakan alur autentikasi dan akun, hubungkan dengan @capgo/capacitor-social-login untuk detail implementasi di @capgo/capacitor-social-login, @capgo/capacitor-passkey untuk detail implementasi di @capgo/capacitor-passkey, @capgo/capacitor-native-biometric untuk detail implementasi di @capgo/capacitor-native-biometric, Autentikasi dua faktor untuk detail implementasi pada Two-factor authentication, dan SSO (Enterprise) untuk detail implementasi pada SSO (Enterprise).