PhoneAuthProvider class

ارائه دهنده برای تولید PhoneAuthCredential .

PhoneAuthProvider در محیط Node.js کار نمی کند.

امضا:

export declare class PhoneAuthProvider 

سازندگان

سازنده اصلاح کننده ها شرح
(سازنده) (auth) یک نمونه جدید از کلاس PhoneAuthProvider می سازد

خواص

ویژگی اصلاح کننده ها تایپ کنید شرح
PHONE_SIGN_IN_METHOD static 'تلفن' همیشه روی SignInMethod تنظیم کنید .تلفن.
PROVIDER_ID static 'تلفن' همیشه روی ProviderId تنظیم شود .تلفن.
شناسه ارائه دهنده "تلفن" همیشه روی ProviderId تنظیم شود .تلفن.

مواد و روش ها

روش اصلاح کننده ها شرح
اعتبار (شناسه تأیید، کد تأیید) static با توجه به شناسه تأیید از PhoneAuthProvider.verifyPhoneNumber() و کدی که به دستگاه تلفن همراه کاربر ارسال شده است، یک اعتبار تأیید اعتبار تلفن ایجاد می کند.
credentialFromError (خطا) static هنگامی که یک خطا ارسال می شود یک AuthCredential را برمی گرداند.
credentialFromResult(userCredential) static یک اعتبار اعتبار از یک UserCredential ایجاد می کند .
verifyPhoneNumber(phoneOptions، applicationVerifier) یک جریان احراز هویت شماره تلفن را با ارسال یک کد تأیید به شماره تلفن داده شده شروع می کند.

PhoneAuthProvider.(سازنده)

یک نمونه جدید از کلاس PhoneAuthProvider می سازد

امضا:

constructor(auth: Auth);

مولفه های

پارامتر تایپ کنید شرح
اعتبار احراز هویت نمونه Firebase Auth که در آن ورود به سیستم باید انجام شود.

PhoneAuthProvider.PHONE_SIGN_IN_METHOD

همیشه روی SignInMethod تنظیم کنید .تلفن.

امضا:

static readonly PHONE_SIGN_IN_METHOD: 'phone';

PhoneAuthProvider.PROVIDER_ID

همیشه روی ProviderId تنظیم شود .تلفن.

امضا:

static readonly PROVIDER_ID: 'phone';

PhoneAuthProvider.providerId

همیشه روی ProviderId تنظیم شود .تلفن.

امضا:

readonly providerId: "phone";

PhoneAuthProvider.credential()

با توجه به شناسه تأیید از PhoneAuthProvider.verifyPhoneNumber() و کدی که به دستگاه تلفن همراه کاربر ارسال شده است، یک اعتبار تأیید اعتبار تلفن ایجاد می کند.

امضا:

static credential(verificationId: string, verificationCode: string): PhoneAuthCredential;

مولفه های

پارامتر تایپ کنید شرح
شناسه تأیید رشته شناسه تأیید بازگردانده شده از PhoneAuthProvider.verifyPhoneNumber() .
کد تایید رشته کد تأیید ارسال شده به دستگاه تلفن همراه کاربر.

برمی گرداند:

PhoneAuthCredential

اعتبار ارائه دهنده اعتبار.

مثال 1

const provider = new PhoneAuthProvider(auth);
const verificationId = provider.verifyPhoneNumber(phoneNumber, applicationVerifier);
// Obtain verificationCode from the user.
const authCredential = PhoneAuthProvider.credential(verificationId, verificationCode);
const userCredential = signInWithCredential(auth, authCredential);

مثال 2

یک جریان جایگزین با استفاده از روش signInWithPhoneNumber ارائه شده است.

const confirmationResult = await signInWithPhoneNumber(auth, phoneNumber, applicationVerifier);
// Obtain verificationCode from the user.
const userCredential = await confirmationResult.confirm(verificationCode);

PhoneAuthProvider.credentialFromError()

هنگامی که یک خطا ارسال می شود یک AuthCredential را برمی گرداند.

این روش برای خطاهایی مانند auth/account-exists-with-different-credentials کار می کند. . این برای بازیابی هنگام تلاش برای تنظیم شماره تلفن کاربر مفید است اما شماره مورد نظر قبلاً به حساب دیگری متصل است. برای مثال، کد زیر سعی می‌کند شماره تلفن کاربر فعلی را به‌روزرسانی کند، و اگر موفق نشد، کاربر را با حساب مرتبط با آن شماره پیوند می‌دهد:

const provider = new PhoneAuthProvider(auth);
const verificationId = await provider.verifyPhoneNumber(number, verifier);
try {
  const code = ''; // Prompt the user for the verification code
  await updatePhoneNumber(
      auth.currentUser,
      PhoneAuthProvider.credential(verificationId, code));
} catch (e) {
  if ((e as FirebaseError)?.code === 'auth/account-exists-with-different-credential') {
    const cred = PhoneAuthProvider.credentialFromError(e);
    await linkWithCredential(auth.currentUser, cred);
  }
}

// At this point, auth.currentUser.phoneNumber === number.

امضا:

static credentialFromError(error: FirebaseError): AuthCredential | null;

مولفه های

پارامتر تایپ کنید شرح
خطا FirebaseError خطای ایجاد اعتبار از.

برمی گرداند:

AuthCredential | خالی

PhoneAuthProvider.credentialFromResult()

یک اعتبار اعتبار از یک UserCredential ایجاد می کند .

امضا:

static credentialFromResult(userCredential: UserCredential): AuthCredential | null;

مولفه های

پارامتر تایپ کنید شرح
اعتبار کاربری اعتبار کاربری اعتبار کاربری

برمی گرداند:

AuthCredential | خالی

PhoneAuthProvider.verifyPhoneNumber()

یک جریان احراز هویت شماره تلفن را با ارسال یک کد تأیید به شماره تلفن داده شده شروع می کند.

امضا:

verifyPhoneNumber(phoneOptions: PhoneInfoOptions | string, applicationVerifier: ApplicationVerifier): Promise<string>;

مولفه های

پارامتر تایپ کنید شرح
گزینه های تلفن PhoneInfoOptions | رشته
applicationVerifier ApplicationVerifier برای پیشگیری از سوء استفاده، این روش به ApplicationVerifier نیز نیاز دارد . این SDK شامل یک پیاده سازی مبتنی بر reCAPTCHA، RecaptchaVerifier است .

برمی گرداند:

قول<رشته>

یک وعده برای شناسه تأیید که می تواند به PhoneAuthProvider.credential() برای شناسایی این جریان ارسال شود.

مثال 1

const provider = new PhoneAuthProvider(auth);
const verificationId = await provider.verifyPhoneNumber(phoneNumber, applicationVerifier);
// Obtain verificationCode from the user.
const authCredential = PhoneAuthProvider.credential(verificationId, verificationCode);
const userCredential = await signInWithCredential(auth, authCredential);

مثال 2

یک جریان جایگزین با استفاده از روش signInWithPhoneNumber ارائه شده است.

const confirmationResult = signInWithPhoneNumber(auth, phoneNumber, applicationVerifier);
// Obtain verificationCode from the user.
const userCredential = confirmationResult.confirm(verificationCode);

مثال

// 'recaptcha-container' is the ID of an element in the DOM.
const applicationVerifier = new RecaptchaVerifier('recaptcha-container');
const provider = new PhoneAuthProvider(auth);
const verificationId = await provider.verifyPhoneNumber('+16505550101', applicationVerifier);
// Obtain the verificationCode from the user.
const phoneCredential = PhoneAuthProvider.credential(verificationId, verificationCode);
const userCredential = await signInWithCredential(auth, phoneCredential);