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