Một giao diện xác định các thuộc tính và thao tác liên quan đến đa yếu tố liên quan đến một Người dùng.
Chữ ký:
export interface MultiFactorUser
Thuộc tính
Tài sản | Loại | Mô tả |
---|---|---|
enrolledFactors (Hệ số đã đăng ký) | Thông tin đa yếu tố[] | Trả về danh sách các yếu tố thứ hai đã đăng ký của người dùng. |
Phương thức
Phương thức | Mô tả |
---|---|
đăng ký(xác nhận, displayName) | Đăng ký một yếu tố thứ hai theo xác định của MultiFactorAssertion cho người dùng. |
getSession() | Trả về giá trị nhận dạng phiên cho thao tác đăng ký yếu tố thứ hai. Thông tin này được dùng để xác định người dùng đang cố đăng ký một yếu tố thứ hai. |
huỷ đăng ký(không bắt buộc) | Huỷ đăng ký yếu tố thứ hai đã chỉ định. |
MultiFactorUser.enrolledFactors
Trả về danh sách các yếu tố thứ hai đã đăng ký của người dùng.
Chữ ký:
readonly enrolledFactors: MultiFactorInfo[];
MultiFactorUser.enroll()
Đăng ký một yếu tố thứ hai theo xác định của MultiFactorAssertion cho người dùng.
Về độ phân giải, mã thông báo người dùng được cập nhật để phản ánh thay đổi trong tải trọng JWT. Chấp nhận một thông số tên hiển thị khác dùng để xác định yếu tố thứ hai cho người dùng cuối. Bạn cần phải xác thực lại gần đây thì thao tác này mới thành công. Khi đăng ký thành công, các phiên Firebase hiện có (mã làm mới) sẽ bị thu hồi. Khi bạn đăng ký một yếu tố mới, hệ thống sẽ gửi một thông báo qua email đến email của người dùng.
Chữ ký:
enroll(assertion: MultiFactorAssertion, displayName?: string | null): Promise<void>;
Thông số
Thông số | Loại | Mô tả |
---|---|---|
câu nhận định | MultiFactorAssertion (Xác nhận đa yếu tố) | Xác nhận đa yếu tố để đăng ký. |
Tên hiển thị | chuỗi | rỗng | Tên hiển thị của yếu tố thứ hai. |
Trường hợp trả lại hàng:
Lời hứa<vô hiệu>
Ví dụ
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()
Trả về giá trị nhận dạng phiên cho thao tác đăng ký yếu tố thứ hai. Thông tin này được dùng để xác định người dùng đang cố đăng ký một yếu tố thứ hai.
Chữ ký:
getSession(): Promise<MultiFactorSession>;
Trường hợp trả lại hàng:
Cam kết<MultiFactorSession>
Lời hứa sẽ được giải quyết bằng MultiFactorSession.
Ví dụ
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()
Huỷ đăng ký yếu tố thứ hai đã chỉ định.
Để chỉ định hệ số cần xoá, hãy truyền đối tượng MultiFactorInfo (truy xuất từ MultiFactorUser.enrolledFactors) hoặc chuỗi UID của yếu tố đó. Các phiên không được thu hồi khi tài khoản bị hủy đăng ký. Có thể một thông báo qua email sẽ được gửi đến người dùng để thông báo cho họ về thay đổi này. Bạn cần phải xác thực lại gần đây thì thao tác này mới thành công. Khi bạn đã huỷ đăng ký một yếu tố hiện có, hệ thống sẽ gửi một thông báo qua email đến địa chỉ email của người dùng.
Chữ ký:
unenroll(option: MultiFactorInfo | string): Promise<void>;
Thông số
Thông số | Loại | Mô tả |
---|---|---|
option | MultiFactorInfo | chuỗi | Tuỳ chọn đa yếu tố để huỷ đăng ký. |
Trường hợp trả lại hàng:
Lời hứa<vô hiệu>
Promise
giúp xử lý khi thao tác huỷ đăng ký hoàn tất.
Ví dụ
const multiFactorUser = multiFactor(auth.currentUser);
// Present user the option to choose which factor to unenroll.
await multiFactorUser.unenroll(multiFactorUser.enrolledFactors[i])