PhoneAuthProvider class

Dostawca do generowania PhoneAuthCredential.

PhoneAuthProvider nie działa w środowisku Node.js.

Podpis:

export declare class PhoneAuthProvider 

Zespoły

Zespół Modyfikatory Opis
(konstruktor)(auth) Tworzy nową instancję klasy PhoneAuthProvider

Właściwości

Właściwość Modyfikatory Typ Opis
PHONE_SIGN_IN_METHOD static „telefon” Zawsze ustawiona na SignInMethod.PHONE.
IDENTYFIKATOR_PRODUKTU static „telefon” Zawsze ustaw wartość ProviderId.PHONE.
Identyfikator dostawcy „telefon” Zawsze ustaw wartość ProviderId.PHONE.

Metody

Metoda Modyfikatory Opis
credential(identyfikator weryfikacji, kod weryfikacyjny) static Tworzy dane logowania uwierzytelniania przez telefon na podstawie identyfikatora weryfikacyjnego z PhoneAuthProvider.verifyPhoneNumber() i kodu wysłanego na urządzenie mobilne użytkownika.
credentialFromError(błąd) static Zwraca AuthCredential po pomyślnym wyniku błędu.
credentialFromResult(Dane logowania użytkownika) static Generuje wartość AuthCredential z elementu UserCredential.
verifyPhoneNumber(phoneOptions, applicationVerifier) Rozpoczyna proces uwierzytelniania numeru telefonu od wysłania kodu weryfikacyjnego na podany numer telefonu.

PhoneAuthProvider.(konstruktor)

Tworzy nową instancję klasy PhoneAuthProvider

Podpis:

constructor(auth: Auth);

Parametry

Parametr Typ Opis
uwierzytelnienie Uwierzytelnianie instancja Uwierzytelnianie Firebase, w której powinny się logować dane logowania.

PhoneAuthProvider.PHONE_SIGN_IN_METHOD

Zawsze ustawiona na SignInMethod.PHONE.

Podpis:

static readonly PHONE_SIGN_IN_METHOD: 'phone';

PhoneAuthProvider.PROVIDER_ID,

Zawsze ustaw wartość ProviderId.PHONE.

Podpis:

static readonly PROVIDER_ID: 'phone';

Identyfikator dostawcy PhoneAuthProvider.provider

Zawsze ustaw wartość ProviderId.PHONE.

Podpis:

readonly providerId: "phone";

PhoneAuthProvider.credential()

Tworzy dane logowania uwierzytelniania przez telefon na podstawie identyfikatora weryfikacyjnego z PhoneAuthProvider.verifyPhoneNumber() i kodu wysłanego na urządzenie mobilne użytkownika.

Podpis:

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

Parametry

Parametr Typ Opis
identyfikator weryfikacji ciąg znaków Identyfikator weryfikacji zwrócony z PhoneAuthProvider.verifyPhoneNumber().
Kod weryfikacyjny ciąg znaków Kod weryfikacyjny wysłany na urządzenie mobilne użytkownika.

Zwroty:

PhoneAuthCredential (Dane logowania PhoneAuthCredential)

Dane logowania dostawcy uwierzytelniania.

Przykład 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);

Przykład 2

Alternatywny proces jest udostępniany przy użyciu metody signInWithPhoneNumber.

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

PhoneAuthProvider.credentialFromError()

Zwraca AuthCredential po pomyślnym wyniku błędu.

Ta metoda działa w przypadku błędów takich jak auth/account-exists-with-different-credentials. Jest to przydatne podczas odzyskiwania konta, gdy próbujesz ustawić numer telefonu użytkownika, który jest już powiązany z innym kontem. Na przykład poniższy kod próbuje zaktualizować numer telefonu bieżącego użytkownika. Jeśli to się nie uda, połączy użytkownika z kontem powiązanym z tym numerem:

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.

Podpis:

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

Parametry

Parametr Typ Opis
błąd Błąd Firebase Błąd podczas generowania danych logowania.

Zwroty:

AuthCredential | wartość null

PhoneAuthProvider.credentialFromResult()

Generuje wartość AuthCredential z elementu UserCredential.

Podpis:

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

Parametry

Parametr Typ Opis
userCredential UserCredential (Dane logowania użytkownika) Dane logowania użytkownika.

Zwroty:

AuthCredential | wartość null

PhoneAuthProvider.verifyPhoneNumber(),

Rozpoczyna proces uwierzytelniania numeru telefonu od wysłania kodu weryfikacyjnego na podany numer telefonu.

Podpis:

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

Parametry

Parametr Typ Opis
Opcje telefonu PhoneInfoOptions | tekst
weryfikator aplikacji ApplicationVerifier Aby zapobiegać nadużyciom, ta metoda wymaga też parametru ApplicationVerifier. Ten pakiet SDK zawiera implementację opartą na reCAPTCHA – RecaptchaVerifier.

Zwroty:

Obietnica<ciąg>

Obietnica identyfikatora weryfikacji, którą można przekazać do PhoneAuthProvider.credential() w celu identyfikacji tego przepływu.

Przykład 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);

Przykład 2

Alternatywny proces jest udostępniany przy użyciu metody signInWithPhoneNumber.

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

Przykład

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