MultiFactorUser interface

واجهة تحدِّد السمات والعمليات ذات الصلة المتعدّدة العوامل والمرتبطة بالمستخدِم

Signature:

export interface MultiFactorUser 

أماكن إقامة

الموقع النوع الوصف
enrolledFactors متعدد العوامل[] تعرض قائمة بالعوامل الثانية المسجَّلة للمستخدم.

الطُرق

الطريقة الوصف
enroll(assertion, displayName) تُسجِّل عاملاً ثانيًا كما هو محدَّد في MultiFactorAssertion للمستخدم.
getSession() تعرض معرّف الجلسة لعملية تسجيل عامل ثانٍ. يُستخدَم هذا الإجراء لتحديد المستخدم الذي يحاول تسجيل عامل ثانٍ.
إلغاء التسجيل(خيار) لإلغاء تسجيل العامل الثاني المحدّد.

MultiFactorUser.enrolledFactors

تعرض قائمة بالعوامل الثانية المسجَّلة للمستخدم.

Signature:

readonly enrolledFactors: MultiFactorInfo[];

MultiFactorUser.enroll()

تُسجِّل عاملاً ثانيًا كما هو محدَّد في MultiFactorAssertion للمستخدم.

وعند درجة الدقة، يتم تعديل الرموز المميّزة للمستخدم لتعكس التغيير في حمولة JWT. يتم قبول معلَمة اسم العرض الإضافية المستخدمة لتحديد العامل الثاني للمستخدم النهائي. يجب إعادة المصادقة مؤخرًا لإكمال هذه العملية بنجاح. عند التسجيل بنجاح، يتم إبطال جلسات Firebase الحالية (الرموز المميّزة لإعادة التحميل). عند تسجيل عامل جديد، يتم إرسال إشعار عبر البريد الإلكتروني إلى البريد الإلكتروني للمستخدم.

Signature:

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

المَعلمات

المعلمة النوع الوصف
تأكيد التأكيد المتعدّد العوامل التأكيد المتعدد العوامل المطلوب التسجيل بها
displayName سلسلة | فارغ الاسم المعروض للعامل الثاني.

المرتجعات:

وعود <باطلة>

مثال

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

تعرض معرّف الجلسة لعملية تسجيل عامل ثانٍ. يُستخدَم هذا الإجراء لتحديد المستخدم الذي يحاول تسجيل عامل ثانٍ.

Signature:

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

لإلغاء تسجيل العامل الثاني المحدّد.

لتحديد العامل المطلوب إزالته، مرِّر كائن MultiFactorInfo (تمت استرجاعه من MultiFactorUser.enrolledFactors) أو سلسلة UID للعامل. ولا يتم إبطال الجلسات عند إلغاء تسجيل الحساب. من المرجح أن يتم إرسال إشعار عبر البريد الإلكتروني إلى المستخدم لإعلامه بالتغيير. يجب إعادة المصادقة مؤخرًا لإكمال هذه العملية بنجاح. عند إلغاء تسجيل أحد العوامل الحالية، يتم إرسال إشعار عبر البريد الإلكتروني إلى البريد الإلكتروني للمستخدم.

Signature:

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

المَعلمات

المعلمة النوع الوصف
الخيار متعدد العوامل | سلسلة خيار متعدد العوامل لإلغاء التسجيل.

المرتجعات:

وعود <باطلة>

  • Promise الذي يتم التعامل معه عند اكتمال عملية إلغاء التسجيل.

مثال

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