Langsung ke konten

Getting Started

GitHub

Anda dapat menggunakan Pengaturan AI Bantu untuk menginstal plugin. Tambahkan Capgo kemampuan ke alat AI Anda menggunakan perintah berikut:

Tampilan Jendela Terminal
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins

Lalu gunakan prompt berikut:

Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-firebase-authentication` plugin in my project.

Jika Anda lebih suka Manual Setup, instal plugin dengan menjalankan perintah-perintah berikut dan ikuti instruksi spesifik platform di bawah ini:

Jendela terminal
bun add @capgo/capacitor-firebase-authentication
bunx cap sync
import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';

Mengaplikasikan verifikasi code yang dikirimkan melalui email.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.applyActionCode({} as ApplyActionCodeOptions);

Mengakhiri proses pengaturan ulang kata sandi.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.confirmPasswordReset({} as ConfirmPasswordResetOptions);

Mengakhiri proses verifikasi nomor telepon.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.confirmVerificationCode({} as ConfirmVerificationCodeOptions);

Membuat akun pengguna baru dengan email dan kata sandi. Jika akun baru dibuat, pengguna akan masuk secara otomatis.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.createUserWithEmailAndPassword({} as CreateUserWithEmailAndPasswordOptions);

Menghapus dan keluar dari akun pengguna.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.deleteUser();

Mengambil metode masuk untuk alamat email.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.fetchSignInMethodsForEmail({} as FetchSignInMethodsForEmailOptions);

Mengambil pengguna yang saat ini masuk.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.getCurrentUser();

Mengembalikan SignInResult jika aplikasi Anda meluncurkan alur masuk web dan OS membersihkan aplikasi saat di latar belakang.

Hanya tersedia untuk Android.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.getPendingAuthResult();

Mengambil Token ID Firebase Auth untuk pengguna yang saat ini sudah masuk.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.getIdToken();

Mengembalikan Token Web JSON (JWT) yang sudah di deserialisasi digunakan untuk mengidentifikasi pengguna ke layanan Firebase.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.getIdTokenResult();

Mengembalikan SignInResult dari alur masuk berdasarkan redirect.

Jika proses masuk gagal, gagal dengan kesalahan. Jika tidak ada operasi redirect yang dipanggil, mengembalikan SignInResult dengan pengguna null.

Hanya tersedia untuk Web.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.getRedirectResult();

Dapatkan id penyewa.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.getTenantId();

Mengecek apakah tautan masuk adalah tanda masuk dengan email yang sesuai untuk signInWithEmailLink.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.isSignInWithEmailLink({} as IsSignInWithEmailLinkOptions);

Menghubungkan akun pengguna dengan penyedia autentikasi Apple.

Pengguna harus sudah masuk di layer native. Opsi konfigurasi tidak berpengaruh di sini. skipNativeAuth __CAPGO_KEEP_0__

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.linkWithApple();

Menghubungkan akun pengguna dengan penyedia autentikasi Email.

Pengguna harus sudah masuk di layer native. skipNativeAuth Opsi pengaturan tidak memiliki efek di sini.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.linkWithEmailAndPassword({} as LinkWithEmailAndPasswordOptions);

Menghubungkan akun pengguna dengan penyedia autentikasi Email.

Pengguna harus sudah masuk di layer native. skipNativeAuth Opsi pengaturan tidak memiliki efek di sini.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.linkWithEmailLink({} as LinkWithEmailLinkOptions);

Menghubungkan akun pengguna dengan penyedia autentikasi Facebook.

Pengguna harus sudah masuk di layer native. Opsi pengaturan tidak memiliki efek di sini. skipNativeAuth Salin ke clipboard

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.linkWithFacebook();

Pengguna harus sudah masuk di layer native. Opsi pengaturan tidak memiliki efek di sini.

Hanya tersedia untuk iOS. skipNativeAuth Salin ke clipboard

Bagian berjudul “linkWithGithub”

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.linkWithGameCenter();

Menghubungkan akun pengguna dengan penyedia autentikasi GitHub.

Pengguna harus sudah masuk pada layer native. skipNativeAuth Opsi konfigurasi tidak berpengaruh di sini.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.linkWithGithub();

Menghubungkan akun pengguna dengan penyedia autentikasi Google.

Pengguna harus sudah masuk pada layer native. skipNativeAuth Opsi konfigurasi tidak berpengaruh di sini.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.linkWithGoogle();

Menghubungkan akun pengguna dengan penyedia autentikasi Microsoft.

Pengguna harus sudah masuk pada layer native. skipNativeAuth Opsi konfigurasi tidak berpengaruh di sini.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.linkWithMicrosoft();

Menghubungkan akun pengguna dengan penyedia OpenID Connect.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.linkWithOpenIdConnect({} as LinkWithOpenIdConnectOptions);

Menghubungkan akun pengguna dengan penyedia autentikasi nomor telepon.

Pengguna harus sudah masuk di layer native. Opsi konfigurasi tidak memiliki efek di sini. skipNativeAuth Gunakan

pengguna untuk diberitahu ketika verifikasi selesai. Gunakan phoneVerificationCompleted pengguna untuk diberitahu ketika verifikasi gagal. Gunakan phoneVerificationFailed pengguna untuk mendapatkan id verifikasi. phoneCodeSent __CAPGO_KEEP_0__

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.linkWithPhoneNumber({} as LinkWithPhoneNumberOptions);

Menghubungkan akun pengguna dengan penyedia autentikasi Play Games.

Pengguna harus sudah masuk di layer native. skipNativeAuth Opsi konfigurasi tidak berpengaruh di sini.

Hanya tersedia untuk Android.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.linkWithPlayGames();

Menghubungkan akun pengguna dengan penyedia autentikasi Twitter.

Pengguna harus sudah masuk di layer native. skipNativeAuth Opsi konfigurasi tidak berpengaruh di sini.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.linkWithTwitter();

Menghubungkan akun pengguna dengan penyedia autentikasi Yahoo.

Pengguna harus sudah masuk di layer native. Opsi konfigurasi tidak berpengaruh di sini. skipNativeAuth Salin ke clipboard

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.linkWithYahoo();

Salin ke clipboard

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.reload();

Salin ke clipboard

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.revokeAccessToken({} as RevokeAccessTokenOptions);

sendEmailVerification

Mengirim verifikasi email.

Mengirim email verifikasi ke pengguna yang saat ini masuk.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.sendEmailVerification();

Mengirim email reset kata sandi.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.sendPasswordResetEmail({} as SendPasswordResetEmailOptions);

Mengirim tautan email masuk ke pengguna dengan alamat email yang ditentukan.

Untuk menyelesaikan masuk dengan tautan email, panggil signInWithEmailLink dengan alamat email dan tautan email yang disediakan dalam email yang dikirim ke pengguna.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.sendSignInLinkToEmail({} as SendSignInLinkToEmailOptions);

Mengatur bahasa pengguna code untuk operasi autentikasi.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.setLanguageCode({} as SetLanguageCodeOptions);

Mengatur jenis penyimpanan untuk sesi autentikasi yang disimpan saat ini.

Hanya tersedia untuk Web.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.setPersistence({} as SetPersistenceOptions);

Mengatur ID tenant.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.setTenantId({} as SetTenantIdOptions);

Masuk sebagai pengguna anonim.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.signInAnonymously();

Mulai alur sign-in Apple.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.signInWithApple();

Mulai alur sign-in Token Kustom.

Metode ini tidak dapat digunakan bersamaan dengan skipNativeAuth pada Android dan iOS. Dalam kasus ini Anda harus menggunakan signInWithCustomToken interface dari Firebase JS SDK secara langsung.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.signInWithCustomToken({} as SignInWithCustomTokenOptions);

Mulai alur sign-in menggunakan email dan kata sandi.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.signInWithEmailAndPassword({} as SignInWithEmailAndPasswordOptions);

Masuk menggunakan email dan tautan masuk email.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.signInWithEmailLink({} as SignInWithEmailLinkOptions);

Mulai alur masuk Facebook.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.signInWithFacebook();

Mulai alur masuk Game Center.

Hanya tersedia untuk iOS.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.signInWithGameCenter();

Mulai alur masuk GitHub.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.signInWithGithub();

Mulai alur masuk Google.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.signInWithGoogle();

Mulai alur masuk Microsoft.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.signInWithMicrosoft();

Mulai alur masuk OpenID Connect.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.signInWithOpenIdConnect({} as SignInWithOpenIdConnectOptions);

Mulai alur masuk menggunakan nomor telepon.

Gunakan phoneVerificationCompleted listener untuk diinformasikan ketika verifikasi telah selesai. Gunakan phoneVerificationFailed listener untuk diinformasikan ketika verifikasi gagal. Gunakan phoneCodeSent listener untuk mendapatkan id verifikasi.

Hanya tersedia untuk Android dan iOS.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.signInWithPhoneNumber({} as SignInWithPhoneNumberOptions);

Mulai alur masuk Play Games.

Hanya tersedia untuk Android.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.signInWithPlayGames();

Mulai alur masuk Twitter.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.signInWithTwitter();

Mulai alur masuk Yahoo.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.signInWithYahoo();

Mulai alur keluar.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.signOut();

Menghapus koneksi penyedia dari akun pengguna.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.unlink({} as UnlinkOptions);

Mengupdate alamat email pengguna yang sedang masuk.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.updateEmail({} as UpdateEmailOptions);

Mengupdate kata sandi pengguna yang saat ini masuk.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.updatePassword({} as UpdatePasswordOptions);

Mengupdate data profil pengguna.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.updateProfile({} as UpdateProfileOptions);

Mengatur bahasa pengguna code menjadi bahasa aplikasi default.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.useAppLanguage();

Menginstrument aplikasi untuk berbicara dengan emulator Autentikasi.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.useEmulator({} as UseEmulatorOptions);

Mengverifikasi alamat email baru sebelum mengupdate alamat email pengguna yang sedang masuk.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.verifyBeforeUpdateEmail({} as VerifyBeforeUpdateEmailOptions);

Mengecek status saat ini dari transparansi pengikatan aplikasi.

Hanya tersedia di iOS.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.checkAppTrackingTransparencyPermission();

Membuka dialog sistem untuk mengizinkan transparansi pengikatan aplikasi.

Perhatian: Pengguna mungkin telah menonaktifkan permintaan pelacakan di pengaturan perangkat, lihat Dokumentasi Apple.

Hanya tersedia di iOS.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.requestAppTrackingTransparencyPermission();
export interface ApplyActionCodeOptions {
/**
* A verification code sent to the user.
*
* @since 0.2.2
*/
oobCode: string;
}
export interface ConfirmPasswordResetOptions {
/**
* A verification code sent to the user.
*
* @since 0.2.2
*/
oobCode: string;
/**
* The new password.
*
* @since 0.2.2
*/
newPassword: string;
}
export interface ConfirmVerificationCodeOptions {
/**
* The verification ID received from the `phoneCodeSent` listener.
*
* The `verificationCode` option must also be provided.
*
* @since 5.0.0
*/
verificationId: string;
/**
* The verification code either received from the `phoneCodeSent` listener or entered by the user.
*
* The `verificationId` option must also be provided.
*
* @since 5.0.0
*/
verificationCode: string;
}
export interface SignInResult {
/**
* The currently signed-in user, or null if there isn't any.
*
* @since 0.1.0
*/
user: User | null;
/**
* Credentials returned by an auth provider.
*
* @since 0.1.0
*/
credential: AuthCredential | null;
/**
* Additional user information from a federated identity provider.
*
* @since 0.5.1
*/
additionalUserInfo: AdditionalUserInfo | null;
}
export interface CreateUserWithEmailAndPasswordOptions {
/**
* @since 0.2.2
*/
email: string;
/**
* @since 0.2.2
*/
password: string;
}
export interface FetchSignInMethodsForEmailOptions {
/**
* The user's email address.
*
* @since 6.0.0
*/
email: string;
}
export interface FetchSignInMethodsForEmailResult {
/**
* The sign-in methods for the specified email address.
*
* This list is empty when [Email Enumeration Protection](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection)
* is enabled, irrespective of the number of authentication methods available for the given email.
*
* @since 6.0.0
*/
signInMethods: string[];
}
export interface GetCurrentUserResult {
/**
* The currently signed-in user, or null if there isn't any.
*
* @since 0.1.0
*/
user: User | null;
}
export interface GetIdTokenOptions {
/**
* Force refresh regardless of token expiration.
*
* @since 0.1.0
*/
forceRefresh: boolean;
}
export interface GetIdTokenResult {
/**
* The Firebase Auth ID token JWT string.
*
* @since 0.1.0
*/
token: string;
}
export interface GetIdTokenResultOptions {
/**
* Force refresh regardless of token expiration.
*
* @since 7.4.0
*/
forceRefresh: boolean;
}
export interface GetIdTokenResultResult {
/**
* The authentication time in milliseconds since the epoch.
*
* This is the time the user authenticated (signed in) and not the time the token was refreshed.
*
* @since 7.4.0
*/
authTime: number;
/**
* The ID token expiration time in milliseconds since the epoch.
*
* @since 7.4.0
*/
expirationTime: number;
/**
* The ID token issuance time in milliseconds since the epoch.
*
* @since 7.4.0
*/
issuedAtTime: number;
/**
* The sign-in provider through which the ID token was obtained.
*
* @since 7.4.0
*/
signInProvider: string | null;
/**
* The type of second factor associated with this session, provided the user was multi-factor
* authenticated (eg. phone, etc).
*
* @since 7.4.0
*/
signInSecondFactor: string | null;
/**
* The entire payload claims of the ID token including the standard reserved claims as well as
* the custom claims.
*
* @since 7.4.0
*/
claims: Record<string, unknown>;
}

Halaman ini dihasilkan dari plugin’s src/definitions.tsRe-run sinkronisasi ketika publik API berubah di atas

Jika Anda menggunakan Getting Started untuk merencanakan autentikasi dan alur akun, hubungkannya dengan @capgo/capacitor-login-sosial untuk detail implementasi di @capgo/capacitor-login-sosial, @capgo/capacitor-passkey untuk detail implementasi di @capgo/capacitor-passkey, @capgo/capacitor-biometrik-native untuk detail implementasi di @capgo/capacitor-biometrik-native, Autentikasi Dua Faktor untuk detail implementasi di Autentikasi Dua Faktor, dan SSO (Enterprise) untuk detail implementasi di SSO (Enterprise).