MultiFactorUser interface

ממשק המגדיר את המאפיינים והפעולות הקשורים לריבוי גורמים הקשורים למשתמש .

חֲתִימָה:

export interface MultiFactorUser 

נכסים

תכונה סוּג תיאור
נרשמו גורמים MultiFactorInfo [] מחזירה רשימה של הגורמים השניים שנרשמו על ידי המשתמש.

שיטות

שיטה תיאור
enroll(assertion, displayName) רושם גורם שני כפי שזוהה על ידי MultiFactorAssertion עבור המשתמש.
getSession() מחזירה את מזהה ההפעלה עבור פעולת רישום גורם שנייה. זה משמש לזיהוי המשתמש שמנסה לרשום גורם שני.
בטל הרשמה (אופציה) מבטל את הרישום של הגורם השני שצוין.

MultiFactorUser.enrolledFactors

מחזירה רשימה של הגורמים השניים שנרשמו על ידי המשתמש.

חֲתִימָה:

readonly enrolledFactors: MultiFactorInfo[];

MultiFactorUser.enroll()

רושם גורם שני כפי שזוהה על ידי MultiFactorAssertion עבור המשתמש.

עם הרזולוציה, אסימוני המשתמש מתעדכנים כדי לשקף את השינוי במטען ה-JWT. מקבל פרמטר נוסף של שם תצוגה המשמש לזיהוי הגורם השני למשתמש הקצה. נדרש אימות מחדש אחרון כדי שהפעולה הזו תצליח. בהרשמה מוצלחת, הפעלות קיימות של Firebase (אסימוני רענון) מבוטלות. כאשר גורם חדש נרשם, נשלחת הודעת דוא"ל למייל של המשתמש.

חֲתִימָה:

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

פרמטרים

פָּרָמֶטֶר סוּג תיאור
טַעֲנָה MultiFactorAssertion הטענה מרובת הגורמים שצריך להירשם איתה.
הצג שם מחרוזת | ריק שם התצוגה של הגורם השני.

החזרות:

הבטחה<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>;

פרמטרים

פָּרָמֶטֶר סוּג תיאור
אוֹפְּצִיָה MultiFactorInfo | חוּט אפשרות ריבוי הגורמים לביטול ההרשמה.

החזרות:

הבטחה<void>

  • Promise שנפתרת כאשר פעולת ביטול ההרשמה תושלם.

דוגמא

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