کلاسی که برای تسهیل بازیابی از MultiFactorError زمانی که کاربر نیاز به ارائه فاکتور دوم برای ورود به سیستم دارد استفاده می شود.
امضا:
export interface MultiFactorResolver
خواص
ویژگی | تایپ کنید | شرح |
---|---|---|
نکات | MultiFactorInfo [] | فهرست نکات مربوط به عوامل دوم مورد نیاز برای تکمیل ورود به سیستم برای جلسه جاری. |
جلسه | MultiFactorSession | شناسه جلسه برای جریان ورود به سیستم فعلی، که می تواند برای تکمیل ورود عامل دوم استفاده شود. |
مواد و روش ها
روش | شرح |
---|---|
solveSignIn(اظهار) | یک تابع کمکی برای کمک به کاربران برای تکمیل ورود به سیستم با فاکتور دوم با استفاده از MultiFactorAssertion که تأیید می کند کاربر چالش فاکتور دوم را با موفقیت انجام داده است. |
MultiFactorResolver.hints
فهرست نکات مربوط به عوامل دوم مورد نیاز برای تکمیل ورود به سیستم برای جلسه جاری.
امضا:
readonly hints: MultiFactorInfo[];
MultiFactorResolver.session
شناسه جلسه برای جریان ورود به سیستم فعلی، که می تواند برای تکمیل ورود عامل دوم استفاده شود.
امضا:
readonly session: MultiFactorSession;
MultiFactorResolver.resolveSignIn()
یک تابع کمکی برای کمک به کاربران برای تکمیل ورود به سیستم با فاکتور دوم با استفاده از MultiFactorAssertion که تأیید می کند کاربر چالش فاکتور دوم را با موفقیت انجام داده است.
امضا:
resolveSignIn(assertion: MultiFactorAssertion): Promise<UserCredential>;
مولفه های
پارامتر | تایپ کنید | شرح |
---|---|---|
ادعا | 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);