PhoneAuthProvider class

Anbieter zum Generieren eines PhoneAuthCredential .

PhoneAuthProvider funktioniert nicht in einer Node.js-Umgebung.

Unterschrift:

export declare class PhoneAuthProvider 

Konstrukteure

Konstrukteur Modifikatoren Beschreibung
(Konstrukteur)(auth) Konstruiert eine neue Instanz der PhoneAuthProvider Klasse

Eigenschaften

Eigentum Modifikatoren Typ Beschreibung
PHONE_SIGN_IN_METHOD static 'Telefon' Immer auf SignInMethod setzen .TELEFON.
PROVIDER_ID static 'Telefon' Immer auf ProviderId setzen .TELEFON.
Anbieter-ID "Telefon" Immer auf ProviderId setzen .TELEFON.

Methoden

Methode Modifikatoren Beschreibung
Anmeldeinformationen (Verifizierungs-ID, Verifizierungscode) static Erstellt anhand der Verifizierungs-ID von PhoneAuthProvider.verifyPhoneNumber() und des Codes, der an das Mobilgerät des Benutzers gesendet wurde, einen Telefonauthentifizierungsnachweis.
credentialFromError(error) static Gibt ein AuthCredential zurück, wenn ein Fehler übergeben wird.
credentialFromResult(userCredential) static Erzeugt ein AuthCredential aus einem UserCredential .
verifyPhoneNumber(phoneOptions, applicationVerifier) Startet einen Authentifizierungsprozess für Telefonnummern, indem ein Bestätigungscode an die angegebene Telefonnummer gesendet wird.

PhoneAuthProvider.(Konstruktor)

Konstruiert eine neue Instanz der PhoneAuthProvider Klasse

Unterschrift:

constructor(auth: Auth);

Parameter

Parameter Typ Beschreibung
Autor Auth Die Firebase Auth- Instanz, in der Anmeldungen erfolgen sollen.

PhoneAuthProvider.PHONE_SIGN_IN_METHOD

Immer auf SignInMethod setzen .TELEFON.

Unterschrift:

static readonly PHONE_SIGN_IN_METHOD: 'phone';

PhoneAuthProvider.PROVIDER_ID

Immer auf ProviderId setzen .TELEFON.

Unterschrift:

static readonly PROVIDER_ID: 'phone';

PhoneAuthProvider.providerId

Immer auf ProviderId setzen .TELEFON.

Unterschrift:

readonly providerId: "phone";

PhoneAuthProvider.credential()

Erstellt anhand der Verifizierungs-ID von PhoneAuthProvider.verifyPhoneNumber() und des Codes, der an das Mobilgerät des Benutzers gesendet wurde, einen Telefonauthentifizierungsnachweis.

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
Verifizierungs-ID Zeichenfolge Die von PhoneAuthProvider.verifyPhoneNumber() zurückgegebene Verifizierungs-ID .
Bestätigungscode Zeichenfolge Der an das Mobilgerät des Benutzers gesendete Bestätigungscode.

Kehrt zurück:

PhoneAuthCredential

Die Anmeldeinformationen des Authentifizierungsanbieters.

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

Beispiel 2

Ein alternativer Ablauf wird mit der Methode signInWithPhoneNumber bereitgestellt.

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

PhoneAuthProvider.credentialFromError()

Gibt ein AuthCredential zurück, wenn ein Fehler übergeben wird.

Diese Methode funktioniert bei Fehlern wie auth/account-exists-with-different-credentials . Dies ist nützlich für die Wiederherstellung, wenn Sie versuchen, die Telefonnummer eines Benutzers festzulegen, die betreffende Nummer jedoch bereits mit einem anderen Konto verknüpft ist. Der folgende Code versucht beispielsweise, die Telefonnummer des aktuellen Benutzers zu aktualisieren. Wenn dies fehlschlägt, wird der Benutzer mit dem Konto verknüpft, das dieser Nummer zugeordnet ist:

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.

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
Fehler FirebaseError Der Fehler, aus dem Anmeldeinformationen generiert werden sollen.

Kehrt zurück:

AuthCredential | Null

PhoneAuthProvider.credentialFromResult()

Erzeugt ein AuthCredential aus einem UserCredential .

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
userCredential Benutzeranmeldeinformationen Die Benutzeranmeldeinformationen.

Kehrt zurück:

AuthCredential | Null

PhoneAuthProvider.verifyPhoneNumber()

Startet einen Authentifizierungsprozess für Telefonnummern, indem ein Bestätigungscode an die angegebene Telefonnummer gesendet wird.

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
Telefonoptionen PhoneInfoOptions | Zeichenfolge
applicationVerifier ApplicationVerifier Zur Missbrauchsprävention benötigt diese Methode zusätzlich einen ApplicationVerifier . Dieses SDK enthält eine reCAPTCHA-basierte Implementierung, RecaptchaVerifier .

Kehrt zurück:

Versprechen<string>

Ein Versprechen für eine Verifizierungs-ID, die an PhoneAuthProvider.credential() übergeben werden kann, um diesen Fluss zu identifizieren.

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

Beispiel 2

Ein alternativer Ablauf wird mit der Methode signInWithPhoneNumber bereitgestellt.

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

Beispiel

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