যখন কোন ব্যবহারকারীকে সাইন ইন করার জন্য দ্বিতীয় ফ্যাক্টর প্রদান করতে হয় তখন MultiFactorError থেকে পুনরুদ্ধারের সুবিধার জন্য ব্যবহৃত ক্লাস।
স্বাক্ষর:
export interface MultiFactorResolver
বৈশিষ্ট্য
সম্পত্তি | টাইপ | বর্ণনা |
---|---|---|
ইঙ্গিত | মাল্টিফ্যাক্টর ইনফো [] | বর্তমান সেশনের জন্য সাইন-ইন সম্পূর্ণ করার জন্য প্রয়োজনীয় দ্বিতীয় কারণগুলির জন্য ইঙ্গিতগুলির তালিকা৷ |
সেশন | মাল্টিফ্যাক্টর সেশন | বর্তমান সাইন-ইন প্রবাহের জন্য সেশন শনাক্তকারী, যা দ্বিতীয় ফ্যাক্টর সাইন-ইন সম্পূর্ণ করতে ব্যবহার করা যেতে পারে। |
পদ্ধতি
পদ্ধতি | বর্ণনা |
---|---|
সমাধান সাইনইন(দাওয়া) | একটি সহায়ক ফাংশন ব্যবহারকারীদেরকে একটি মাল্টিফ্যাক্টরঅ্যাসারশন ব্যবহার করে দ্বিতীয় ফ্যাক্টর দিয়ে সাইন ইন সম্পূর্ণ করতে সাহায্য করে যাতে ব্যবহারকারী নিশ্চিত করে দ্বিতীয় ফ্যাক্টর চ্যালেঞ্জ সফলভাবে সম্পন্ন করে। |
MultiFactorResolver.hints
বর্তমান সেশনের জন্য সাইন-ইন সম্পূর্ণ করার জন্য প্রয়োজনীয় দ্বিতীয় কারণগুলির জন্য ইঙ্গিতগুলির তালিকা৷
স্বাক্ষর:
readonly hints: MultiFactorInfo[];
MultiFactorResolver.session
বর্তমান সাইন-ইন প্রবাহের জন্য সেশন শনাক্তকারী, যা দ্বিতীয় ফ্যাক্টর সাইন-ইন সম্পূর্ণ করতে ব্যবহার করা যেতে পারে।
স্বাক্ষর:
readonly session: MultiFactorSession;
MultiFactorResolver.resolveSignIn()
একটি সহায়ক ফাংশন ব্যবহারকারীদেরকে একটি মাল্টিফ্যাক্টরঅ্যাসারশন ব্যবহার করে দ্বিতীয় ফ্যাক্টর দিয়ে সাইন ইন সম্পূর্ণ করতে সাহায্য করে যাতে ব্যবহারকারী নিশ্চিত করে দ্বিতীয় ফ্যাক্টর চ্যালেঞ্জ সফলভাবে সম্পন্ন করে।
স্বাক্ষর:
resolveSignIn(assertion: MultiFactorAssertion): Promise<UserCredential>;
পরামিতি
প্যারামিটার | টাইপ | বর্ণনা |
---|---|---|
দাবী | মাল্টিফ্যাক্টর অ্যাসারশন | সাইন-ইন সমাধান করার জন্য মাল্টি-ফ্যাক্টর দাবী। |
রিটার্ন:
প্রতিশ্রুতি< ব্যবহারকারীর শংসাপত্র >
প্রতিশ্রুতি যা ব্যবহারকারীর শংসাপত্রের বস্তুর সাথে সমাধান করে।
উদাহরণ
const phoneAuthCredential = PhoneAuthProvider.credential(verificationId, verificationCode);
const multiFactorAssertion = PhoneMultiFactorGenerator.assertion(phoneAuthCredential);
const userCredential = await resolver.resolveSignIn(multiFactorAssertion);
উদাহরণ
let resolver;
let multiFactorHints;
signInWithEmailAndPassword(auth, email, password)
.then((result) => {
// User signed in. No 2nd factor challenge is needed.
})
.catch((error) => {
if (error.code == 'auth/multi-factor-auth-required') {
resolver = getMultiFactorResolver(auth, error);
// Show UI to let user select second factor.
multiFactorHints = resolver.hints;
} else {
// Handle other errors.
}
});
// The enrolled second factors that can be used to complete
// sign-in are returned in the `MultiFactorResolver.hints` list.
// UI needs to be presented to allow the user to select a second factor
// from that list.
const selectedHint = // ; selected from multiFactorHints
const phoneAuthProvider = new PhoneAuthProvider(auth);
const phoneInfoOptions = {
multiFactorHint: selectedHint,
session: resolver.session
};
const verificationId = phoneAuthProvider.verifyPhoneNumber(phoneInfoOptions, appVerifier);
// Store `verificationId` and show UI to let user enter verification code.
// UI to enter verification code and continue.
// Continue button click handler
const phoneAuthCredential = PhoneAuthProvider.credential(verificationId, verificationCode);
const multiFactorAssertion = PhoneMultiFactorGenerator.assertion(phoneAuthCredential);
const userCredential = await resolver.resolveSignIn(multiFactorAssertion);