MultiFactorUser interface

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

Tanda tangan:

export interface MultiFactorUser 

Properti

Properti Jenis Keterangan
Faktor terdaftar Info MultiFaktor [] Mengembalikan daftar faktor kedua yang didaftarkan pengguna.

Metode

metode Keterangan
mendaftar (pernyataan, nama tampilan) Mendaftarkan faktor kedua seperti yang diidentifikasi oleh MultiFactorAssertion untuk pengguna.
dapatkanSesi() Mengembalikan pengidentifikasi sesi untuk operasi pendaftaran faktor kedua. Ini digunakan untuk mengidentifikasi pengguna yang mencoba mendaftarkan faktor kedua.
batalkan pendaftaran (opsi) Membatalkan pendaftaran faktor kedua yang ditentukan.

MultiFactorUser.enrolledFactors

Mengembalikan daftar faktor kedua yang didaftarkan pengguna.

Tanda tangan:

readonly enrolledFactors: MultiFactorInfo[];

Pengguna MultiFaktor.mendaftar()

Mendaftarkan faktor kedua seperti yang diidentifikasi oleh MultiFactorAssertion untuk pengguna.

Berdasarkan resolusi, token pengguna diperbarui untuk mencerminkan perubahan dalam muatan JWT. Menerima parameter nama tampilan tambahan yang digunakan untuk mengidentifikasi faktor kedua bagi pengguna akhir. Otentikasi ulang baru-baru ini diperlukan agar operasi ini berhasil. Jika pendaftaran berhasil, sesi Firebase yang ada (token penyegaran) akan dicabut. Ketika faktor baru didaftarkan, pemberitahuan email dikirim ke email pengguna.

Tanda tangan:

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

Parameter

Parameter Jenis Keterangan
tuntutan Pernyataan MultiFaktor Pernyataan multi-faktor untuk mendaftar.
nama tampilan tali | batal Nama tampilan faktor kedua.

Pengembalian:

Janji<batal>

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.

Pengguna MultiFaktor.getSesi()

Mengembalikan pengidentifikasi sesi untuk operasi pendaftaran faktor kedua. Ini digunakan untuk mengidentifikasi pengguna yang mencoba mendaftarkan faktor kedua.

Tanda tangan:

getSession(): Promise<MultiFactorSession>;

Pengembalian:

Janji< MultiFactorSession >

Janji yang diselesaikan 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);

Pengguna MultiFaktor.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 dicabut ketika akun dibatalkan pendaftarannya. Pemberitahuan email kemungkinan akan dikirim ke pengguna untuk memberi tahu mereka tentang perubahan tersebut. Otentikasi ulang baru-baru ini diperlukan agar operasi ini berhasil. Ketika faktor yang ada dibatalkan pendaftarannya, pemberitahuan email dikirim ke email pengguna.

Tanda tangan:

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

Parameter

Parameter Jenis Keterangan
pilihan Info MultiFaktor | rangkaian Opsi multi-faktor untuk membatalkan pendaftaran.

Pengembalian:

Janji<batal>

  • Promise yang diselesaikan ketika 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])