MultiFactorUser interface

อินเทอร์เฟซที่กำหนดพร็อพเพอร์ตี้และการดำเนินการที่เกี่ยวข้องกับหลายปัจจัยซึ่งเกี่ยวข้องกับผู้ใช้

ลายเซ็น:

export interface MultiFactorUser 

พร็อพเพอร์ตี้

พร็อพเพอร์ตี้ ประเภท คำอธิบาย
enrolledFactors ข้อมูลหลายปัจจัย[] แสดงผลรายการปัจจัยที่สองที่ลงทะเบียนของผู้ใช้

เมธอด

วิธีการ คำอธิบาย
ลงทะเบียน(การยืนยัน, displayName) ลงทะเบียนปัจจัยที่ 2 ตามที่ระบุโดย MultiFactorAssertion สำหรับผู้ใช้
getSession() แสดงผลตัวระบุเซสชันสำหรับการดำเนินการลงทะเบียนปัจจัยที่สอง ข้อมูลนี้ใช้เพื่อระบุผู้ใช้ที่พยายามลงทะเบียนปัจจัยที่ 2
ยกเลิกการลงทะเบียน(ตัวเลือก) ยกเลิกการลงทะเบียนปัจจัยที่ 2 ที่ระบุ

MultiFactorUser.enrolledFactors

แสดงผลรายการปัจจัยที่สองที่ลงทะเบียนของผู้ใช้

ลายเซ็น:

readonly enrolledFactors: MultiFactorInfo[];

MultiFactorUser.enroll()

ลงทะเบียนปัจจัยที่ 2 ตามที่ระบุโดย MultiFactorAssertion สำหรับผู้ใช้

เมื่อแก้ปัญหาแล้ว โทเค็นผู้ใช้จะได้รับการอัปเดตเพื่อแสดงการเปลี่ยนแปลงในเพย์โหลด JWT ยอมรับพารามิเตอร์ชื่อที่แสดงเพิ่มเติมซึ่งใช้เพื่อระบุปัจจัยที่ 2 ต่อผู้ใช้ปลายทาง ต้องมีการตรวจสอบสิทธิ์อีกครั้งเมื่อเร็วๆ นี้เพื่อให้การดำเนินการนี้สำเร็จ เมื่อลงทะเบียนสำเร็จ ระบบจะเพิกถอนเซสชัน Firebase ที่มีอยู่ (โทเค็นการรีเฟรช) เมื่อมีการลงทะเบียนปัจจัยใหม่ ระบบจะส่งการแจ้งเตือนทางอีเมลไปยังอีเมลของผู้ใช้

ลายเซ็น:

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

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
การยืนยัน MultiFactorAssertion การยืนยันแบบหลายปัจจัยเพื่อลงทะเบียน
displayName สตริง | ค่าว่าง ชื่อที่แสดงของปัจจัยที่ 2

การคืนสินค้า:

คำมั่นสัญญา<โมฆะ>

ตัวอย่าง

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

แสดงผลตัวระบุเซสชันสำหรับการดำเนินการลงทะเบียนปัจจัยที่สอง ข้อมูลนี้ใช้เพื่อระบุผู้ใช้ที่พยายามลงทะเบียนปัจจัยที่ 2

ลายเซ็น:

getSession(): Promise<MultiFactorSession>;

การคืนสินค้า:

สัญญา<MultiFactorSession>

สัญญาที่จะแก้ปัญหาได้ด้วย MultiFactorSession

ตัวอย่าง

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

ยกเลิกการลงทะเบียนปัจจัยที่ 2 ที่ระบุ

หากต้องการระบุตัวประกอบที่จะนำออก ให้ส่งออบเจ็กต์ MultiFactorInfo (ดึงมาจาก MultiFactorUser.enrolledFactors) หรือสตริง UID ของปัจจัย ระบบจะไม่เพิกถอนเซสชันเมื่อยกเลิกการลงทะเบียนบัญชีแล้ว ระบบจะส่งการแจ้งเตือนทางอีเมลไปยังผู้ใช้เพื่อแจ้งให้ทราบถึงการเปลี่ยนแปลงดังกล่าว ต้องมีการตรวจสอบสิทธิ์อีกครั้งเมื่อเร็วๆ นี้เพื่อให้การดำเนินการนี้สำเร็จ เมื่อมีการยกเลิกการลงทะเบียนปัจจัยที่มีอยู่ ระบบจะส่งการแจ้งเตือนทางอีเมลไปยังอีเมลของผู้ใช้

ลายเซ็น:

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

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
option MultiFactorInfo สตริง ตัวเลือกแบบหลายปัจจัยสำหรับยกเลิกการลงทะเบียน

การคืนสินค้า:

คำมั่นสัญญา<โมฆะ>

  • Promise ซึ่งจะแก้ไขเมื่อการดำเนินการยกเลิกการลงทะเบียนเสร็จสมบูรณ์

ตัวอย่าง

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