MultiFactorUser interface

Antarmuka yang menentukan properti dan operasi terkait multi-faktor yang berkaitan dengan Pengguna.

Tanda Tangan:

export interface MultiFactorUser 

Properti

Properti Jenis Deskripsi
enrolledFactors MultiFactorInfo[] Menampilkan daftar faktor kedua yang didaftarkan pengguna.

Metode

Metode Deskripsi
enroll(pernyataan, displayName) Mendaftarkan faktor kedua seperti yang diidentifikasi oleh MultiFactorAssertion untuk pengguna.
getSession() Menampilkan ID sesi untuk operasi pendaftaran faktor kedua. Langkah ini digunakan untuk mengidentifikasi pengguna yang mencoba mendaftarkan faktor kedua.
batalkan pendaftaran(opsi) Membatalkan pendaftaran faktor kedua yang ditentukan.

MultiFactorUser.enrolledFactors

Menampilkan daftar faktor kedua yang didaftarkan pengguna.

Tanda Tangan:

readonly enrolledFactors: MultiFactorInfo[];

MultiFactorUser.enroll()

Mendaftarkan faktor kedua seperti yang diidentifikasi oleh MultiFactorAssertion untuk pengguna.

Setelah penyelesaian, token pengguna akan diperbarui untuk mencerminkan perubahan pada payload JWT. Menerima parameter nama tampilan tambahan yang digunakan untuk mengidentifikasi faktor kedua bagi pengguna akhir. Autentikasi ulang terbaru diperlukan agar operasi ini berhasil. Setelah pendaftaran berhasil, sesi Firebase yang ada (token refresh) akan dicabut. Saat faktor baru didaftarkan, notifikasi email akan dikirim ke email pengguna.

Tanda Tangan:

enroll(assertion: MultiFactorAssertion, displayName?: string | null): Promise<void>;

Parameter

Parameter Jenis Deskripsi
pernyataan MultiFactorAssertion Pernyataan multi-faktor yang akan didaftarkan.
Nama Tampilan rangkaian | null (kosong) Nama tampilan faktor kedua.

Hasil:

Janji<void>

Contoh

const multiFactorUser = multiFactor(auth.currentUser);
const multiFactorSession = await multiFactorUser.getSession();

// Send verification code.
const phoneAuthProvider = new PhoneAuthProvider(auth);
const phoneInfoOptions = {
  phoneNumber: phoneNumber,
  session: multiFactorSession
};
const verificationId = await phoneAuthProvider.verifyPhoneNumber(phoneInfoOptions, appVerifier);

// Obtain verification code from user.
const phoneAuthCredential = PhoneAuthProvider.credential(verificationId, verificationCode);
const multiFactorAssertion = PhoneMultiFactorGenerator.assertion(phoneAuthCredential);
await multiFactorUser.enroll(multiFactorAssertion);
// Second factor enrolled.

MultiFactorUser.getSession()

Menampilkan ID sesi untuk operasi pendaftaran faktor kedua. Langkah ini digunakan untuk mengidentifikasi pengguna yang mencoba mendaftarkan faktor kedua.

Tanda Tangan:

getSession(): Promise<MultiFactorSession>;

Hasil:

Janji<MultiFactorSession>

Promise yang di-resolve dengan MultiFactorSession.

Contoh

const multiFactorUser = multiFactor(auth.currentUser);
const multiFactorSession = await multiFactorUser.getSession();

// Send verification code.
const phoneAuthProvider = new PhoneAuthProvider(auth);
const phoneInfoOptions = {
  phoneNumber: phoneNumber,
  session: multiFactorSession
};
const verificationId = await phoneAuthProvider.verifyPhoneNumber(phoneInfoOptions, appVerifier);

// Obtain verification code from user.
const phoneAuthCredential = PhoneAuthProvider.credential(verificationId, verificationCode);
const multiFactorAssertion = PhoneMultiFactorGenerator.assertion(phoneAuthCredential);
await multiFactorUser.enroll(multiFactorAssertion);

MultiFactorUser.unenroll()

Membatalkan pendaftaran faktor kedua yang ditentukan.

Untuk menentukan faktor yang akan dihapus, teruskan objek MultiFactorInfo (diambil dari MultiFactorUser.enrolledFactors) atau string UID faktor. Sesi tidak akan dicabut jika akun dibatalkan pendaftarannya. Notifikasi email kemungkinan akan dikirim kepada pengguna untuk memberitahukan perubahan tersebut. Autentikasi ulang terbaru diperlukan agar operasi ini berhasil. Jika faktor yang sudah ada dibatalkan pendaftarannya, notifikasi email akan dikirim ke email pengguna.

Tanda Tangan:

unenroll(option: MultiFactorInfo | string): Promise<void>;

Parameter

Parameter Jenis Deskripsi
option MultiFactorInfo | {i>string<i} Opsi multi-faktor untuk membatalkan pendaftaran.

Hasil:

Janji<void>

  • Promise yang di-resolve saat operasi pembatalan pendaftaran selesai.

Contoh

const multiFactorUser = multiFactor(auth.currentUser);
// Present user the option to choose which factor to unenroll.
await multiFactorUser.unenroll(multiFactorUser.enrolledFactors[i])