رابطی که ویژگی ها و عملیات چند عاملی مربوط به یک کاربر را تعریف می کند .
امضا:
export interface MultiFactorUser
خواص
ویژگی | تایپ کنید | شرح |
---|---|---|
enrolledFactors | MultiFactorInfo [] | فهرستی از فاکتورهای دوم ثبت نام شده کاربر را برمی گرداند. |
مواد و روش ها
روش | شرح |
---|---|
ثبت نام (اظهار، نمایش نام) | فاکتور دومی را که توسط MultiFactorAssertion برای کاربر شناسایی شده است ثبت می کند. |
getSession() | شناسه جلسه را برای عملیات ثبت نام فاکتور دوم برمی گرداند. این برای شناسایی کاربری که سعی در ثبت عامل دوم دارد استفاده می شود. |
لغو ثبت نام (گزینه) | فاکتور دوم مشخص شده را لغو ثبت نام می کند. |
MultiFactorUser.enrolledFactors
فهرستی از فاکتورهای دوم ثبت نام شده کاربر را برمی گرداند.
امضا:
readonly enrolledFactors: MultiFactorInfo[];
MultiFactorUser.enroll()
فاکتور دومی را که توسط MultiFactorAssertion برای کاربر شناسایی شده است ثبت می کند.
در وضوح، توکنهای کاربر بهروزرسانی میشوند تا تغییر در بار JWT را منعکس کنند. یک پارامتر نام نمایشی اضافی را میپذیرد که برای شناسایی عامل دوم به کاربر نهایی استفاده میشود. برای موفقیت آمیز بودن این عملیات، احراز هویت مجدد اخیر مورد نیاز است. در صورت ثبتنام موفق، جلسات Firebase موجود (توکنهای تازهسازی) لغو میشوند. هنگامی که یک فاکتور جدید ثبت می شود، یک اعلان ایمیل به ایمیل کاربر ارسال می شود.
امضا:
enroll(assertion: MultiFactorAssertion, displayName?: string | null): Promise<void>;
مولفه های
پارامتر | تایپ کنید | شرح |
---|---|---|
ادعا | MultiFactorAssertion | ادعای چند عاملی برای ثبت نام. |
نمایش نام | رشته | خالی | نام نمایش عامل دوم. |
برمی گرداند:
قول<باطل>
مثال
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>;
برمی گرداند:
Promise< 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>;
مولفه های
پارامتر | تایپ کنید | شرح |
---|---|---|
گزینه | MultiFactorInfo | رشته | گزینه چند عاملی برای لغو ثبت نام. |
برمی گرداند:
قول<باطل>
- یک
Promise
که با تکمیل عملیات لغو ثبت نام برطرف می شود.
مثال
const multiFactorUser = multiFactor(auth.currentUser);
// Present user the option to choose which factor to unenroll.
await multiFactorUser.unenroll(multiFactorUser.enrolledFactors[i])