MultiFactorUser interface

একটি ইন্টারফেস যা ব্যবহারকারীর সাথে সম্পর্কিত বহু-ফ্যাক্টর সম্পর্কিত বৈশিষ্ট্য এবং ক্রিয়াকলাপগুলিকে সংজ্ঞায়িত করে .

স্বাক্ষর:

export interface MultiFactorUser 

বৈশিষ্ট্য

সম্পত্তি টাইপ বর্ণনা
নথিভুক্ত ফ্যাক্টর মাল্টিফ্যাক্টর ইনফো [] ব্যবহারকারীর নথিভুক্ত দ্বিতীয় কারণগুলির একটি তালিকা প্রদান করে।

পদ্ধতি

পদ্ধতি বর্ণনা
নথিভুক্ত করুন (দাবী, প্রদর্শন নাম) ব্যবহারকারীর জন্য MultiFactorAssertion দ্বারা চিহ্নিত একটি দ্বিতীয় ফ্যাক্টর নথিভুক্ত করে।
getSession() দ্বিতীয় ফ্যাক্টর নথিভুক্তকরণ অপারেশনের জন্য সেশন শনাক্তকারী প্রদান করে। এটি একটি দ্বিতীয় ফ্যাক্টর নথিভুক্ত করার চেষ্টা ব্যবহারকারী সনাক্ত করতে ব্যবহৃত হয়.
নাম নথিভুক্ত করা (বিকল্প) নির্দিষ্ট দ্বিতীয় ফ্যাক্টর আনএনরোল করে।

MultiFactorUser.enrolledFactors

ব্যবহারকারীর নথিভুক্ত দ্বিতীয় কারণগুলির একটি তালিকা প্রদান করে।

স্বাক্ষর:

readonly enrolledFactors: MultiFactorInfo[];

MultiFactorUser.enroll()

ব্যবহারকারীর জন্য MultiFactorAssertion দ্বারা চিহ্নিত একটি দ্বিতীয় ফ্যাক্টর নথিভুক্ত করে।

রেজোলিউশনে, JWT পেলোডের পরিবর্তন প্রতিফলিত করতে ব্যবহারকারীর টোকেন আপডেট করা হয়। শেষ ব্যবহারকারীর কাছে দ্বিতীয় ফ্যাক্টর সনাক্ত করতে ব্যবহৃত একটি অতিরিক্ত প্রদর্শন নামের প্যারামিটার গ্রহণ করে। এই অপারেশন সফল হওয়ার জন্য সাম্প্রতিক পুনঃপ্রমাণিকরণ প্রয়োজন৷ সফল তালিকাভুক্তিতে, বিদ্যমান ফায়ারবেস সেশন (রিফ্রেশ টোকেন) প্রত্যাহার করা হয়। যখন একটি নতুন ফ্যাক্টর নথিভুক্ত করা হয়, তখন ব্যবহারকারীর ইমেলে একটি ইমেল বিজ্ঞপ্তি পাঠানো হয়।

স্বাক্ষর:

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

পরামিতি

প্যারামিটার টাইপ বর্ণনা
দাবী মাল্টিফ্যাক্টর অ্যাসারশন মাল্টি-ফ্যাক্টর দাবী সহ নথিভুক্ত করার জন্য।
প্রদর্শন নাম স্ট্রিং | খালি দ্বিতীয় ফ্যাক্টরের প্রদর্শনের নাম।

রিটার্ন:

প্রতিশ্রুতি <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 দিয়ে সমাধান করে .

উদাহরণ

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>;

পরামিতি

প্যারামিটার টাইপ বর্ণনা
বিকল্প মাল্টিফ্যাক্টর ইনফো | স্ট্রিং মাল্টি-ফ্যাক্টর বিকল্পটি তালিকা মুক্ত করার জন্য।

রিটার্ন:

প্রতিশ্রুতি <void>

  • একটি Promise যা মীমাংসা করে যখন আন-এনরোল অপারেশন সম্পূর্ণ হয়।

উদাহরণ

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