موفر لإنشاء 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() . |
رمز التحقق | خيط | تم إرسال رمز التحقق إلى الجهاز المحمول الخاص بالمستخدم. |
عائدات:
بيانات اعتماد موفر المصادقة.
مثال 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);