ספק להפקת 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() . |
קוד אימות | חוּט | קוד האימות שנשלח למכשיר הנייד של המשתמש. |
החזרות:
האישור של ספק ההסמכה.
דוגמה 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);