PhoneAuthProvider class

Fournisseur pour générer un PhoneAuthCredential .

PhoneAuthProvider ne fonctionne pas dans un environnement Node.js.

Signature:

export declare class PhoneAuthProvider 

Constructeurs

Constructeur Modificateurs Description
(constructeur)(auth) Construit une nouvelle instance de la classe PhoneAuthProvider

Propriétés

Propriété Modificateurs Taper Description
PHONE_SIGN_IN_METHOD static 'téléphone' Toujours défini sur SignInMethod .TÉLÉPHONE.
PROVIDER_ID static 'téléphone' Toujours défini sur ProviderId .TÉLÉPHONE.
ID du fournisseur "téléphone" Toujours défini sur ProviderId .TÉLÉPHONE.

Méthodes

Méthode Modificateurs Description
informations d'identification (verificationId, verifyCode) static Crée un identifiant d'authentification téléphonique, en fonction de l'ID de vérification de PhoneAuthProvider.verifyPhoneNumber() et du code envoyé à l'appareil mobile de l'utilisateur.
informations d'identificationFromError(erreur) static Renvoie un AuthCredential en cas de transmission d'une erreur.
informations d'identificationFromResult (userCredential) static Génère un AuthCredential à partir d'un UserCredential .
verifyPhoneNumber (phoneOptions, applicationVerifier) Démarre un flux d'authentification de numéro de téléphone en envoyant un code de vérification au numéro de téléphone donné.

PhoneAuthProvider. (constructeur)

Construit une nouvelle instance de la classe PhoneAuthProvider

Signature:

constructor(auth: Auth);

Paramètres

Paramètre Taper Description
authentification Authentification Instance Firebase Auth dans laquelle les connexions doivent avoir lieu.

PhoneAuthProvider.PHONE_SIGN_IN_METHOD

Toujours défini sur SignInMethod .TÉLÉPHONE.

Signature:

static readonly PHONE_SIGN_IN_METHOD: 'phone';

PhoneAuthProvider.PROVIDER_ID

Toujours défini sur ProviderId .TÉLÉPHONE.

Signature:

static readonly PROVIDER_ID: 'phone';

PhoneAuthProvider.providerId

Toujours défini sur ProviderId .TÉLÉPHONE.

Signature:

readonly providerId: "phone";

PhoneAuthProvider.credential()

Crée un identifiant d'authentification téléphonique, en fonction de l'ID de vérification de PhoneAuthProvider.verifyPhoneNumber() et du code envoyé à l'appareil mobile de l'utilisateur.

Signature:

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

Paramètres

Paramètre Taper Description
ID de vérification chaîne L'ID de vérification renvoyé par PhoneAuthProvider.verifyPhoneNumber() .
le code de vérification chaîne Le code de vérification envoyé à l'appareil mobile de l'utilisateur.

Retour:

PhoneAuthCredential

Les informations d'identification du fournisseur d'authentification.

Exemple 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);

Exemple 2

Un flux alternatif est fourni à l’aide de la méthode signInWithPhoneNumber .

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

PhoneAuthProvider.credentialFromError()

Renvoie un AuthCredential en cas de transmission d'une erreur.

Cette méthode fonctionne pour les erreurs telles que auth/account-exists-with-different-credentials . Ceci est utile pour récupérer lorsque vous tentez de définir le numéro de téléphone d'un utilisateur mais que le numéro en question est déjà lié à un autre compte. Par exemple, le code suivant tente de mettre à jour le numéro de téléphone de l'utilisateur actuel et, si cela échoue, relie l'utilisateur au compte associé à ce numéro :

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.

Signature:

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

Paramètres

Paramètre Taper Description
erreur Erreur Firebase Erreur à partir de laquelle générer un identifiant.

Retour:

AuthCredential | nul

PhoneAuthProvider.credentialFromResult()

Génère un AuthCredential à partir d'un UserCredential .

Signature:

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

Paramètres

Paramètre Taper Description
identifiantutilisateur Informations d'identification de l'utilisateur Les informations d'identification de l'utilisateur.

Retour:

AuthCredential | nul

PhoneAuthProvider.verifyPhoneNumber()

Démarre un flux d'authentification de numéro de téléphone en envoyant un code de vérification au numéro de téléphone donné.

Signature:

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

Paramètres

Paramètre Taper Description
options de téléphone OptionsInfoTéléphone | chaîne
applicationVerifier ApplicationVerifier Pour la prévention des abus, cette méthode nécessite également un ApplicationVerifier . Ce SDK comprend une implémentation basée sur reCAPTCHA, RecaptchaVerifier .

Retour:

Promesse<string>

Une promesse pour un identifiant de vérification qui peut être transmis à PhoneAuthProvider.credential() pour identifier ce flux.

Exemple 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);

Exemple 2

Un flux alternatif est fourni à l’aide de la méthode signInWithPhoneNumber .

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

Exemple

// '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);