Lompat ke konten utama
@capgo/capacitor-firebase-authentication Autentikasi & Keamanan Open source

Autentikasi Firebase plugin Capacitor

Plugin Capacitor untuk Firebase Authentication

Instal

bun add @capgo/capacitor-firebase-authentication bunx cap sync
npm, pnpm, atau yarn
  • npm install @capgo/capacitor-firebase-authentication
  • pnpm add @capgo/capacitor-firebase-authentication
  • yarn add @capgo/capacitor-firebase-authentication

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).

FAQ

FAQ plugin Firebase Authentication

Bagaimana cara install plugin Firebase Authentication di aplikasi Capacitor?

Jalankan "bun add @capgo/capacitor-firebase-authentication" (atau "npm install @capgo/capacitor-firebase-authentication"), lalu jalankan "bunx cap sync" agar proyek iOS dan Android mendeteksi code native. Import dari "@capgo/capacitor-firebase-authentication" di code aplikasi Anda.

Apakah @capgo/capacitor-firebase-authentication mendukung React, Vue, dan Angular?

Ya. Firebase Authentication adalah package Capacitor, jadi bisa digunakan dengan framework web apa pun yang berjalan di dalam Capacitor, termasuk Ionic, React, Vue, Angular, Svelte, dan JavaScript murni.

Versi Capacitor mana yang didukung oleh @capgo/capacitor-firebase-authentication?

Plugin Capgo mengikuti versi major Capacitor: gunakan versi major plugin yang cocok dengan versi major Capacitor Anda (misalnya plugin v8 dengan Capacitor 8). Tabel kompatibilitas di README GitHub mencantumkan versi yang di-maintain.

Apakah @capgo/capacitor-firebase-authentication gratis dan open source?

Ya. Source code tersedia secara publik di GitHub pada https://github.com/Cap-go/capacitor-firebase/tree/main/packages/authentication dan package ini gratis diinstall via npm. Bug report dan pull request sangat kami terima.

Bisakah saya update code yang menggunakan Firebase Authentication tanpa review App Store?

Install atau upgrade plugin akan mengubah code native, sehingga butuh build store baru. Setelah itu, perubahan JavaScript, HTML, dan CSS yang memanggil plugin tersebut bisa langsung dikirim via Capgo live updates.

Rilis perubahan Firebase Authentication tanpa menunggu review aplikasi

Setelah plugin ada di build store Anda, Capgo live updates mengirim perubahan JavaScript, HTML, dan CSS ke pengguna dalam hitungan menit.

Mulai dengan Capgo