PhoneAuthProvider class

موفر لإنشاء PhoneAuthCredential .

لا يعمل PhoneAuthProvider في بيئة Node.js.

إمضاء:

export declare class PhoneAuthProvider 

البنائين

البناء الصفات التعريفية وصف
(المنشئ) (المصادقة) إنشاء مثيل جديد لفئة PhoneAuthProvider

ملكيات

ملكية الصفات التعريفية يكتب وصف
PHONE_SIGN_IN_METHOD static 'هاتف' اضبط دائمًا على SignInMethod .هاتف.
PROVIDER_ID static 'هاتف' اضبط دائمًا على ProviderId .هاتف.
معرف_الموفر "هاتف" اضبط دائمًا على ProviderId .هاتف.

طُرق

طريقة الصفات التعريفية وصف
بيانات الاعتماد (معرف التحقق، رمز التحقق) static ينشئ بيانات اعتماد مصادقة الهاتف، مع توفير معرف التحقق من PhoneAuthProvider.verifyPhoneNumber() والرمز الذي تم إرساله إلى الجهاز المحمول الخاص بالمستخدم.
بيانات الاعتماد(خطأ) static إرجاع AuthCredential عند تمرير خطأ.
بيانات الاعتماد من نتيجة (userCredential) static ينشئ AuthCredential من UserCredential .
التحقق من رقم الهاتف (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;

حدود

معامل يكتب وصف
خطأ خطأ فيريباسي الخطأ في إنشاء بيانات الاعتماد من.

عائدات:

اعتماد المصادقة | باطل

PhoneAuthProvider.credentialFromResult()

ينشئ AuthCredential من UserCredential .

إمضاء:

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

حدود

معامل يكتب وصف
userCredential بيانات اعتماد المستخدم بيانات اعتماد المستخدم.

عائدات:

اعتماد المصادقة | باطل

PhoneAuthProvider.verifyPhoneNumber()

يبدأ تدفق مصادقة رقم الهاتف عن طريق إرسال رمز التحقق إلى رقم الهاتف المحدد.

إمضاء:

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

حدود

معامل يكتب وصف
phoneOptions خيارات معلومات الهاتف | خيط
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);