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