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 lagi setelah setiap upgrade plugin.
Impor
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
Sekilas tentang API
| Metode | Deskripsi |
|---|---|
applyActionCode |
Menerapkan code verifikasi yang dikirim ke pengguna via 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 mengeluarkan (sign out) pengguna. |
fetchSignInMethodsForEmail |
Mengambil metode sign-in untuk alamat email tertentu. |
getCurrentUser |
Mengambil data pengguna yang sedang login. |
getPendingAuthResult |
Mengembalikan SignInResult jika aplikasi Anda menjalankan alur sign-in web dan OS menutup aplikasi saat sedang berjalan di latar belakang. |
getIdToken |
Mengambil Firebase Auth ID Token untuk user yang sedang login. |
getIdTokenResult |
Mengembalikan JSON Web Token (JWT) yang telah dideserialisasi untuk mengidentifikasi user ke layanan Firebase. |
getRedirectResult |
Mengembalikan SignInResult dari alur sign-in berbasis redirect. |
getTenantId |
Dapatkan tenant id. |
isSignInWithEmailLink |
Memeriksa apakah link yang masuk adalah sign-in dengan email link yang cocok untuk signInWithEmailLink. |
linkWithApple |
Menghubungkan akun user dengan provider autentikasi Apple. |
linkWithEmailAndPassword |
Menghubungkan akun user dengan provider autentikasi Email. |
linkWithEmailLink |
Menghubungkan akun user dengan provider autentikasi Email. |
linkWithFacebook |
Menghubungkan akun user dengan provider autentikasi Facebook. |
linkWithGameCenter |
Menghubungkan akun pengguna dengan provider autentikasi Game Center. |
linkWithGithub |
Menghubungkan akun pengguna dengan provider autentikasi GitHub. |
linkWithGoogle |
Menghubungkan akun pengguna dengan provider autentikasi Google. |
linkWithMicrosoft |
Menghubungkan akun pengguna dengan provider autentikasi Microsoft. |
linkWithOpenIdConnect |
Menghubungkan akun pengguna dengan provider OpenID Connect. |
linkWithPhoneNumber |
Menghubungkan akun pengguna dengan provider autentikasi Nomor Telepon. |
linkWithPlayGames |
Menghubungkan akun pengguna dengan provider autentikasi Play Games. |
linkWithTwitter |
Menghubungkan akun pengguna dengan provider autentikasi Twitter. |
linkWithYahoo |
Menghubungkan akun pengguna dengan provider autentikasi Yahoo. |
reload |
Memuat ulang data akun pengguna jika sudah login. |
revokeAccessToken |
Mencabut access token yang diberikan. Saat ini hanya mendukung Apple OAuth access token. |
sendEmailVerification |
Mengirim email verifikasi ke pengguna yang sedang login. |
sendPasswordResetEmail |
Mengirim email reset password. |
sendSignInLinkToEmail |
Mengirimkan tautan email masuk ke pengguna dengan alamat email yang ditentukan. |
setLanguageCode |
Mengatur bahasa code untuk operasi auth. |
setPersistence |
Mengatur tipe persistensi untuk sesi auth yang tersimpan. |
setTenantId |
Mengatur tenant id. |
signInAnonymously |
Sign in sebagai user anonim. |
signInWithApple |
Memulai alur sign-in Apple. |
signInWithCustomToken |
Memulai alur sign-in Custom Token. |
signInWithEmailAndPassword |
Memulai alur sign-in menggunakan email dan password. |
signInWithEmailLink |
Sign in menggunakan email dan link sign-in email. |
signInWithFacebook |
Memulai alur sign-in Facebook. |
signInWithGameCenter |
Memulai alur sign-in Game Center. |
signInWithGithub |
Memulai alur sign-in GitHub. |
signInWithGoogle |
Memulai alur sign-in Google. |
signInWithMicrosoft |
Memulai alur sign-in Microsoft. |
signInWithOpenIdConnect |
Memulai alur sign-in OpenID Connect. |
signInWithPhoneNumber |
Memulai alur sign-in menggunakan nomor telepon. |
signInWithPlayGames |
Memulai alur sign-in Play Games. |
signInWithTwitter |
Memulai alur sign-in Twitter. |
signInWithYahoo |
Memulai alur sign-in Yahoo. |
signOut |
Memulai alur sign-out. |
unlink |
Melepas tautan provider dari akun user. |
updateEmail |
Memperbarui alamat email user yang sedang login. |
updatePassword |
Memperbarui password user yang sedang login. |
updateProfile |
Memperbarui data profil pengguna. |
useAppLanguage |
Mengatur bahasa code yang dilihat pengguna sebagai bahasa default aplikasi. |
useEmulator |
Hubungkan aplikasi Anda ke emulator Authentication. |
verifyBeforeUpdateEmail |
Memverifikasi alamat email baru sebelum memperbarui email pengguna yang sedang login. |
checkAppTrackingTransparencyPermission |
Memeriksa status transparansi pelacakan aplikasi saat ini. |
requestAppTrackingTransparencyPermission |
Membuka dialog sistem untuk mengizinkan transparansi pelacakan aplikasi. |
Contoh
applyActionCode()
Menerapkan verifikasi code yang dikirimkan ke email pengguna.
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 akun dan mengeluarkan pengguna (sign out).
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.
Dengarkan event
addListener mengembalikan sebuah handle. Panggil handle.remove() saat screen di-unmount, atau FirebaseAuthentication.removeAllListeners() untuk menghapus semua listener.
Referensi lengkap
Lanjutkan dari Menggunakan @capgo/capacitor-firebase-authentication
Jika Anda menggunakan Gunakan @capgo/capacitor-firebase-authentication untuk merancang alur autentikasi dan akun, lalu 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 Two-factor authentication, dan SSO (Enterprise) untuk detail implementasi SSO (Enterprise).