Lebih cepat ke konten

Mulai Membuka

GitHub

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

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

Kemudian 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 Setup Manual, instal plugin dengan menjalankan perintah-perintah berikut dan ikuti instruksi spesifik platform di bawah:

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 ke pengguna.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.applyActionCode({ oobCode: 'oob-code' });

Mengakhiri proses reset kata sandi.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.confirmPasswordReset({
oobCode: 'oob-code',
newPassword: 'new-password',
});

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

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';
const result = await FirebaseAuthentication.createUserWithEmailAndPassword({
email: 'user@example.com',
password: 'password',
});
// The result holds sensitive values: use it without logging it.

Menghapus dan keluar dari pengguna.

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

Mendapatkan metode masuk untuk alamat email.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
const result = await FirebaseAuthentication.fetchSignInMethodsForEmail({ email: 'user@example.com' });
console.log(result);

Mendapatkan pengguna yang saat ini masuk.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
const result = await FirebaseAuthentication.getCurrentUser();
// The result holds sensitive values: use it without logging it.

Mengembalikan ‘ SignInResult Jika aplikasi Anda meluncurkan aliran masuk web dan sistem operasi membersihkan aplikasi saat di latar belakang.

Hanya tersedia untuk Android.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
const result = await FirebaseAuthentication.getPendingAuthResult();
// The result holds sensitive values: use it without logging it.

Mengambil Token Autentikasi Firebase ID untuk pengguna yang saat ini telah masuk.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
const result = await FirebaseAuthentication.getIdToken();
// The result holds sensitive values: use it without logging it.

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

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
const result = await FirebaseAuthentication.getIdTokenResult();
// The result holds sensitive values: use it without logging it.

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';
const result = await FirebaseAuthentication.getRedirectResult();
// The result holds sensitive values: use it without logging it.

Dapatkan id penyewa.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
const result = await FirebaseAuthentication.getTenantId();
console.log(result);

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

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
const result = await FirebaseAuthentication.isSignInWithEmailLink({ emailLink: 'https://example.com' });
// The result holds sensitive values: use it without logging it.

Menghubungkan akun pengguna dengan penyedia autentikasi Apple.

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

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
const result = await FirebaseAuthentication.linkWithApple();
// The result holds sensitive values: use it without logging it.

Menghubungkan akun pengguna dengan penyedia autentikasi Email.

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

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
const result = await FirebaseAuthentication.linkWithEmailAndPassword({
email: 'user@example.com',
password: 'password',
});
// The result holds sensitive values: use it without logging it.

Menghubungkan akun pengguna dengan penyedia autentikasi Email.

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

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
const result = await FirebaseAuthentication.linkWithEmailLink({
email: 'user@example.com',
emailLink: 'https://example.com',
});
// The result holds sensitive values: use it without logging it.

Menghubungkan akun pengguna dengan penyedia autentikasi Facebook.

Pengguna harus sudah masuk di layer native. Tidak skipNativeAuth opsi pengaturan tidak berpengaruh di sini.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
const result = await FirebaseAuthentication.linkWithFacebook();
// The result holds sensitive values: use it without logging it.

Menghubungkan akun pengguna dengan penyedia autentikasi Game Center.

Pengguna harus sudah masuk di layer native. Tidak skipNativeAuth opsi pengaturan tidak berpengaruh di sini.

Hanya tersedia untuk iOS.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
const result = await FirebaseAuthentication.linkWithGameCenter();
// The result holds sensitive values: use it without logging it.

Menghubungkan akun pengguna dengan GitHub penyedia autentikasi.

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

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
const result = await FirebaseAuthentication.linkWithGithub();
// The result holds sensitive values: use it without logging it.

Menghubungkan akun pengguna dengan penyedia autentikasi Google.

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

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
const result = await FirebaseAuthentication.linkWithGoogle();
// The result holds sensitive values: use it without logging it.

Menghubungkan akun pengguna dengan penyedia autentikasi Microsoft.

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

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
const result = await FirebaseAuthentication.linkWithMicrosoft();
// The result holds sensitive values: use it without logging it.

Menautkan akun pengguna dengan penyedia OpenID Connect.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
const result = await FirebaseAuthentication.linkWithOpenIdConnect({ providerId: 'provider-id-123' });
// The result holds sensitive values: use it without logging it.

Menautkan akun pengguna dengan penyedia autentikasi Nomor Telepon.

User harus sudah masuk di layer native. skipNativeAuth opsi konfigurasi tidak berpengaruh di sini.

Pilih phoneVerificationCompleted Pilih untuk menerima pemberitahuan ketika verifikasi selesai. Pilih phoneVerificationFailed Pilih untuk menerima pemberitahuan ketika verifikasi gagal. Pilih phoneCodeSent Pengaturan untuk mendapatkan ID verifikasi.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.linkWithPhoneNumber({ phoneNumber: "+16505550101" });

Menautkan akun pengguna dengan penyedia otentikasi Play Games.

Pengguna harus sudah masuk ke layer native. skipNativeAuth Hanya tersedia untuk Android.

Bab berjudul “linkWithTwitter”

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
const result = await FirebaseAuthentication.linkWithPlayGames();
// The result holds sensitive values: use it without logging it.

Menghubungkan akun pengguna dengan penyedia autentikasi Twitter.

Pengguna harus sudah masuk ke layer native. skipNativeAuth Hanya tersedia untuk Android.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
const result = await FirebaseAuthentication.linkWithTwitter();
// The result holds sensitive values: use it without logging it.

Menautkan akun pengguna dengan penyedia autentikasi Yahoo.

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

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
const result = await FirebaseAuthentication.linkWithYahoo();
// The result holds sensitive values: use it without logging it.

Mengisi ulang data akun pengguna, jika sudah masuk.

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

Membatalkan token akses yang diberikan. Saat ini hanya mendukung token akses OAuth Apple.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.revokeAccessToken({ token: 'token-123' });

Mengirimkan email verifikasi ke pengguna yang saat ini masuk.

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

Mengirimkan email reset kata sandi.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.sendPasswordResetEmail({ email: 'user@example.com' });

Mengirimkan tautan sign in ke pengguna dengan alamat email yang ditentukan.

Untuk menyelesaikan sign in dengan tautan email, panggil signInWithEmailLink dengan alamat email dan tautan email yang disediakan dalam email yang dikirimkan ke pengguna.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.sendSignInLinkToEmail({
email: 'user@example.com',
actionCodeSettings: { url: 'https://example.com' },
});

Mengatur bahasa pengguna code untuk operasi autentikasi.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.setLanguageCode({ languageCode: "en-US" });

Mengatur jenis penyimpanan untuk sesi autentikasi yang disimpan saat ini.

Hanya tersedia untuk Web.

import { FirebaseAuthentication, Persistence } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.setPersistence({ persistence: Persistence.IndexedDbLocal });

Mengatur ID penyewa.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.setTenantId({ tenantId: 'tenant-id-123' });

Masuk sebagai pengguna anonim.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
const result = await FirebaseAuthentication.signInAnonymously();
// The result holds sensitive values: use it without logging it.

Mengaktifkan alur sign-in Apple.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
const result = await FirebaseAuthentication.signInWithApple();
// The result holds sensitive values: use it without logging it.

Mengaktifkan alur sign-in Token Kustom.

Metode ini tidak dapat digunakan bersamaan dengan skipNativeAuth on Android and iOS. In this case you have to use the signInWithCustomToken Antarmuka Firebase JS SDK secara langsung.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
const result = await FirebaseAuthentication.signInWithCustomToken({ token: 'token-123' });
// The result holds sensitive values: use it without logging it.

Mulai alur masuk menggunakan alamat email dan kata sandi.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
const result = await FirebaseAuthentication.signInWithEmailAndPassword({
email: 'user@example.com',
password: 'password',
});
// The result holds sensitive values: use it without logging it.

Menandatangani menggunakan alamat email dan tautan sign-in email.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
const result = await FirebaseAuthentication.signInWithEmailLink({
email: 'user@example.com',
emailLink: 'https://example.com',
});
// The result holds sensitive values: use it without logging it.

Mengaktifkan alur sign-in Facebook.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
const result = await FirebaseAuthentication.signInWithFacebook();
// The result holds sensitive values: use it without logging it.

Mengaktifkan alur sign-in Game Center.

Hanya tersedia untuk iOS.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
const result = await FirebaseAuthentication.signInWithGameCenter();
// The result holds sensitive values: use it without logging it.

Starts the GitHub sign-in flow.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
const result = await FirebaseAuthentication.signInWithGithub();
// The result holds sensitive values: use it without logging it.

Mengaktifkan alur masuk Google.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
const result = await FirebaseAuthentication.signInWithGoogle();
// The result holds sensitive values: use it without logging it.

Mengaktifkan alur masuk Microsoft.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
const result = await FirebaseAuthentication.signInWithMicrosoft();
// The result holds sensitive values: use it without logging it.

Mengaktifkan alur masuk OpenID Connect.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
const result = await FirebaseAuthentication.signInWithOpenIdConnect({ providerId: 'provider-id-123' });
// The result holds sensitive values: use it without logging it.

Mengaktifkan alur masuk menggunakan nomor telepon.

Gunakan phoneVerificationCompleted pengguna untuk diberitahu ketika verifikasi telah selesai. Gunakan phoneVerificationFailed Pengguna listener untuk menerima pemberitahuan ketika verifikasi gagal. Gunakan phoneCodeSent Pilih untuk mendapatkan ID verifikasi.

Hanya tersedia untuk Android dan iOS.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.signInWithPhoneNumber({ phoneNumber: "+16505550101" });

Mengaktifkan alur sign-in Play Games.

Hanya tersedia untuk Android.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
const result = await FirebaseAuthentication.signInWithPlayGames();
// The result holds sensitive values: use it without logging it.

Mengaktifkan alur sign-in Twitter.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
const result = await FirebaseAuthentication.signInWithTwitter();
// The result holds sensitive values: use it without logging it.

Mengaktifkan alur masuk Yahoo.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
const result = await FirebaseAuthentication.signInWithYahoo();
// The result holds sensitive values: use it without logging it.

Mengaktifkan alur keluar.

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

Menghapus koneksi penyedia dari akun pengguna.

import { FirebaseAuthentication, ProviderId } from '@capgo/capacitor-firebase-authentication';
const result = await FirebaseAuthentication.unlink({ providerId: ProviderId.APPLE });
// The result holds sensitive values: use it without logging it.

Mengupdate alamat email pengguna yang sedang masuk.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.updateEmail({ newEmail: 'user@example.com' });

Mengupdate kata sandi pengguna yang saat ini masuk.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.updatePassword({ newPassword: 'new-password' });

Mengupdate data profil pengguna.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.updateProfile({
displayName: 'display',
photoUrl: 'https://example.com',
});

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({ host: "127.0.0.1" });

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

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
await FirebaseAuthentication.verifyBeforeUpdateEmail({ newEmail: 'user@example.com' });

checkAppTrackingTransparencyPermission

Bab berjudul “cekIzinPengawasanAplikasi”

Mengecek status saat ini dari pengawasan aplikasi.

Hanya tersedia di iOS.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
const result = await FirebaseAuthentication.checkAppTrackingTransparencyPermission();
console.log(result);

requestAppTrackingTransparencyPermission

Bab berjudul “mintaIzinPengawasanAplikasi”

Membuka dialog sistem untuk mengizinkan pengawasan aplikasi.

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

Hanya tersedia pada iOS.

import { FirebaseAuthentication } from '@capgo/capacitor-firebase-authentication';
const result = await FirebaseAuthentication.requestAppTrackingTransparencyPermission();
console.log(result);
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 API publik berubah di atas

Jika Anda menggunakan Mulai Berjalan 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-nativ untuk detail implementasi di @capgo/capacitor-biometrik-nativ, Autentikasi Dua Faktor untuk detail implementasi di Autentikasi Dua Faktor, dan Single Sign-On (Enterprise) untuk detail implementasi di SSO (Enterprise).