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