MultiFactorUser interface

واجهة تحدد الخصائص والعمليات ذات الصلة متعددة العوامل المتعلقة بالمستخدم .

إمضاء:

export interface MultiFactorUser 

ملكيات

ملكية يكتب وصف
عوامل مسجلة معلومات العوامل المتعددة [] إرجاع قائمة بالعوامل الثانية المسجلة للمستخدم.

طُرق

طريقة وصف
التسجيل (التأكيد، اسم العرض) يسجل العامل الثاني كما هو محدد بواسطة MultiFactorAssertion للمستخدم.
جلسة () إرجاع معرف الجلسة لعملية تسجيل العامل الثاني. يُستخدم هذا لتحديد المستخدم الذي يحاول تسجيل عامل ثانٍ.
إلغاء التسجيل (الخيار) إلغاء تسجيل العامل الثاني المحدد.

MultiFactorUser.enrolledFactors

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

إمضاء:

readonly enrolledFactors: MultiFactorInfo[];

MultiFactorUser.enroll()

يسجل العامل الثاني كما هو محدد بواسطة MultiFactorAssertion للمستخدم.

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

إمضاء:

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

حدود

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

عائدات:

وعد<باطل>

مثال

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

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

إمضاء:

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 الخاصة بالعامل. لا يتم إلغاء الجلسات عند إلغاء تسجيل الحساب. من المحتمل أن يتم إرسال إشعار بالبريد الإلكتروني إلى المستخدم لإعلامه بالتغيير. مطلوب إعادة المصادقة الأخيرة لنجاح هذه العملية. عند إلغاء تسجيل عامل موجود، يتم إرسال إشعار بالبريد الإلكتروني إلى البريد الإلكتروني الخاص بالمستخدم.

إمضاء:

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