PhoneAuthProvider class

Dostawca służący do generowania PhoneAuthCredential .

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

Podpis:

export declare class PhoneAuthProvider 

Konstruktorzy

Konstruktor Modyfikatory Opis
(konstruktor)(autoryzacja) Konstruuje nowe wystąpienie klasy PhoneAuthProvider

Nieruchomości

Nieruchomość Modyfikatory Typ Opis
PHONE_SIGN_IN_METHOD static 'telefon' Zawsze ustaw na SignInMethod .TELEFON.
PROVIDER_ID static 'telefon' Zawsze ustawione na ProviderId .TELEFON.
identyfikator dostawcy "telefon" Zawsze ustawione na ProviderId .TELEFON.

Metody

metoda Modyfikatory Opis
dane uwierzytelniające (identyfikator weryfikacji, kod weryfikacji) static Tworzy poświadczenie uwierzytelniania telefonu na podstawie identyfikatora weryfikacji z PhoneAuthProvider.verifyPhoneNumber() i kodu wysłanego na urządzenie mobilne użytkownika.
referencjaFromError(błąd) static Zwraca AuthCredential w przypadku przekazania błędu.
dane uwierzytelniająceFromResult(poświadczenia użytkownika) static Generuje AuthCredential na podstawie UserCredential .
zweryfikuj numer telefonu (opcje telefonu, weryfikator aplikacji) Rozpoczyna proces uwierzytelniania numeru telefonu poprzez wysłanie kodu weryfikacyjnego na podany numer telefonu.

PhoneAuthProvider.(konstruktor)

Konstruuje nowe wystąpienie klasy PhoneAuthProvider

Podpis:

constructor(auth: Auth);

Parametry

Parametr Typ Opis
autoryzacja Autoryt Instancja Firebase Auth , w której powinny nastąpić logowania.

PhoneAuthProvider.PHONE_SIGN_IN_METHOD

Zawsze ustaw na SignInMethod .TELEFON.

Podpis:

static readonly PHONE_SIGN_IN_METHOD: 'phone';

PhoneAuthProvider.PROVIDER_ID

Zawsze ustawione na ProviderId .TELEFON.

Podpis:

static readonly PROVIDER_ID: 'phone';

PhoneAuthProvider.providerId

Zawsze ustawione na ProviderId .TELEFON.

Podpis:

readonly providerId: "phone";

PhoneAuthProvider.credential()

Tworzy poświadczenie uwierzytelniania telefonu na podstawie identyfikatora weryfikacji 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 strunowy Identyfikator weryfikacyjny zwrócony przez PhoneAuthProvider.verifyPhoneNumber() .
kod weryfikacyjny strunowy Kod weryfikacyjny wysyłany na urządzenie mobilne użytkownika.

Zwroty:

Poświadczenie uwierzytelnienia telefonu

Poświadczenia 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 przepływ jest zapewniany przy użyciu signInWithPhoneNumber .

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

PhoneAuthProvider.credentialFromError()

Zwraca AuthCredential w przypadku przekazania błędu.

Ta metoda działa w przypadku błędów takich jak auth/account-exists-with-different-credentials . Jest to przydatne do odzyskiwania danych w przypadku próby ustawienia numeru 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, a jeśli to się nie powiedzie, łą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, z którego należy wygenerować dane uwierzytelniające.

Zwroty:

Poświadczenie uwierzytelnienia | zero

PhoneAuthProvider.credentialFromResult()

Generuje AuthCredential na podstawie UserCredential .

Podpis:

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

Parametry

Parametr Typ Opis
Poświadczenie użytkownika Poświadczenia użytkownika Poświadczenia użytkownika.

Zwroty:

Poświadczenie uwierzytelnienia | zero

PhoneAuthProvider.verifyPhoneNumber()

Rozpoczyna proces uwierzytelniania numeru telefonu poprzez wysłanie kodu weryfikacyjnego na podany numer telefonu.

Podpis:

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

Parametry

Parametr Typ Opis
Opcje telefonu Opcje informacji o telefonie | strunowy
Weryfikator aplikacji Weryfikator aplikacji Aby zapobiec nadużyciom, ta metoda wymaga również ApplicationVerifier . Ten zestaw SDK zawiera implementację opartą na reCAPTCHA, RecaptchaVerifier .

Zwroty:

Obietnica<string>

Obietnica identyfikatora weryfikacyjnego, który można przekazać do funkcji PhoneAuthProvider.credential() w celu zidentyfikowania 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 przepływ jest zapewniany przy użyciu 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);