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