ऐसा इंटरफ़ेस जो किसी उपयोगकर्ता से जुड़ी कई तरीकों से जुड़ी प्रॉपर्टी और कार्रवाइयों के बारे में जानकारी देता है.
हस्ताक्षर:
export interface MultiFactorUser
प्रॉपर्टी
प्रॉपर्टी | टाइप | ब्यौरा |
---|---|---|
एनरोलमेंट फ़ैक्टर | कई तरीकों की जानकारी[] | उपयोगकर्ता के रजिस्टर किए गए दूसरे फ़ैक्टर की सूची दिखाता है. |
तरीके
तरीका | ब्यौरा |
---|---|
enroll(asrtion, displayName) | यह विकल्प, उपयोगकर्ता के लिए MultiFactorAssertion से पहचाने गए दूसरे फ़ैक्टर को रजिस्टर करता है. |
getसेशन() | दूसरे फ़ैक्टर से रजिस्टर करने की कार्रवाई के लिए, सेशन आइडेंटिफ़ायर दिखाता है. इसका इस्तेमाल, उस उपयोगकर्ता की पहचान करने के लिए किया जाता है जो पुष्टि करने के दूसरे चरण को रजिस्टर करने की कोशिश कर रहा है. |
सुविधा छोड़ें(विकल्प) | चुने गए दूसरे चरण को छोड़ता है. |
मल्टीफ़ैक्टर यूज़र.एनरोल्डेड फ़ैक्टर्स
उपयोगकर्ता के रजिस्टर किए गए दूसरे फ़ैक्टर की सूची दिखाता है.
हस्ताक्षर:
readonly enrolledFactors: MultiFactorInfo[];
MultiFactorUser.enroll()
यह विकल्प, उपयोगकर्ता के लिए MultiFactorAssertion से पहचाने गए दूसरे फ़ैक्टर को रजिस्टर करता है.
रिज़ॉल्यूशन पर, JWT पेलोड में बदलाव दिखाने के लिए उपयोगकर्ता टोकन अपडेट किए जाते हैं. असली उपयोगकर्ता को दूसरे कारक की पहचान करने के लिए इस्तेमाल किया जाने वाला एक और डिसप्ले नाम पैरामीटर स्वीकार करता है. इस कार्रवाई के कामयाब होने के लिए, हाल ही में फिर से पुष्टि करना ज़रूरी है. रजिस्टर होने पर, Firebase के मौजूदा सेशन (रीफ़्रेश टोकन) रद्द कर दिए जाते हैं. जब कोई नया फ़ैक्टर रजिस्टर किया जाता है, तो उपयोगकर्ता के ईमेल पर एक ईमेल सूचना भेजी जाती है.
हस्ताक्षर:
enroll(assertion: MultiFactorAssertion, displayName?: string | null): Promise<void>;
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
दावा | कई तरीकों से पुष्टि | नाम दर्ज कराने के लिए, कई तरीकों से किया जाने वाला दावा. |
displayName | स्ट्रिंग | शून्य | दूसरे फ़ैक्टर का डिसप्ले नेम. |
लौटाए जाने वाले प्रॉडक्ट:
प्रॉमिस<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.getसेशन()
दूसरे फ़ैक्टर से रजिस्टर करने की कार्रवाई के लिए, सेशन आइडेंटिफ़ायर दिखाता है. इसका इस्तेमाल, उस उपयोगकर्ता की पहचान करने के लिए किया जाता है जो पुष्टि करने के दूसरे चरण को रजिस्टर करने की कोशिश कर रहा है.
हस्ताक्षर:
getSession(): Promise<MultiFactorSession>;
लौटाए जाने वाले प्रॉडक्ट:
प्रॉमिस<MultiFactorसेशन>
वह प्रॉमिस जो 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 से लिया गया) या फ़ैक्टर की यूआईडी स्ट्रिंग पास करें. खाते का रजिस्ट्रेशन खत्म करने पर, सेशन रद्द नहीं किए जाते. उपयोगकर्ता को बदलाव के बारे में सूचना देने के लिए ईमेल से सूचना भेजी जा सकती है. इस कार्रवाई के कामयाब होने के लिए, हाल ही में फिर से पुष्टि करना ज़रूरी है. जब किसी मौजूदा फ़ैक्टर को रजिस्टर नहीं किया जाता है, तो उपयोगकर्ता के ईमेल पर एक ईमेल सूचना भेजी जाती है.
हस्ताक्षर:
unenroll(option: MultiFactorInfo | string): Promise<void>;
पैरामीटर
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
विकल्प | मल्टीफ़ैक्टर जानकारी | स्ट्रिंग | सुविधा छोड़ने के लिए, कई तरीकों से जानकारी देने वाला विकल्प. |
लौटाए जाने वाले प्रॉडक्ट:
प्रॉमिस<void>
- एक
Promise
, जो प्रॉपर्टी को छोड़ने की कार्रवाई पूरी होने पर रिज़ॉल्व हो जाता है.
उदाहरण
const multiFactorUser = multiFactor(auth.currentUser);
// Present user the option to choose which factor to unenroll.
await multiFactorUser.unenroll(multiFactorUser.enrolledFactors[i])