PhoneAuthProvider class

ספק להפקת PhoneAuthCredential .

PhoneAuthProvider אינו פועל בסביבת Node.js.

חֲתִימָה:

export declare class PhoneAuthProvider 

בונים

בַּנַאִי משנה תיאור
(קונסטרוקטור)(הסמכה) בונה מופע חדש של המחלקה PhoneAuthProvider

נכסים

תכונה משנה סוּג תיאור
PHONE_SIGN_IN_METHOD static 'טלפון' הגדר תמיד ל- SignInMethod .טלפון.
PROVIDER_ID static 'טלפון' הגדר תמיד ל- ProviderId .טלפון.
providerId "טלפון" הגדר תמיד ל- ProviderId .טלפון.

שיטות

שיטה משנה תיאור
credential (verificationId, verificationCode) static יוצר אישור טלפון, בהינתן מזהה האימות מ- PhoneAuthProvider.verifyPhoneNumber() והקוד שנשלח למכשיר הנייד של המשתמש.
credentialFromError(שגיאה) static מחזירה AuthCredential כאשר מועברת שגיאה.
credentialFromResult(userCredential) static יוצר AuthCredential מתוך UserCredential .
verifyPhoneNumber(phoneOptions, applicationVerifier) מתחיל זרימת אימות מספר טלפון על ידי שליחת קוד אימות למספר הטלפון הנתון.

PhoneAuthProvider.(קונסטרוקטור)

בונה מופע חדש של המחלקה PhoneAuthProvider

חֲתִימָה:

constructor(auth: 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;

פרמטרים

פָּרָמֶטֶר סוּג תיאור
VerificationId חוּט מזהה האימות שהוחזר מ- 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()

יוצר AuthCredential מתוך UserCredential .

חֲתִימָה:

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

פרמטרים

פָּרָמֶטֶר סוּג תיאור
UserCredential תעודת משתמש תעודת המשתמש.

החזרות:

AuthCredential | ריק

PhoneAuthProvider.verifyPhoneNumber()

מתחיל זרימת אימות מספר טלפון על ידי שליחת קוד אימות למספר הטלפון הנתון.

חֲתִימָה:

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

פרמטרים

פָּרָמֶטֶר סוּג תיאור
אפשרויות טלפון PhoneInfoOptions | חוּט
applicationVerifier ApplicationVerifier למניעת שימוש לרעה, שיטה זו דורשת גם ApplicationVerifier . SDK זה כולל מימוש מבוסס reCAPTCHA, RecaptchaVerifier .

החזרות:

הבטחה<string>

הבטחה למזהה אימות שניתן להעביר ל- 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);