PhoneAuthProvider class

Penyedia untuk membuat PhoneAuthCredential.

PhoneAuthProvider tidak berfungsi di lingkungan Node.js.

Tanda Tangan:

export declare class PhoneAuthProvider 

Konstruktor

Konstruktor Pengubah Deskripsi
(konstruktor)(auth) Membuat instance baru dari class PhoneAuthProvider

Properti

Properti Pengubah Jenis Deskripsi
PHONE_SIGN_IN_METHOD static 'phone' Selalu tetapkan ke SignInMethod.PHONE.
ID_PENYEDIA static 'phone' Selalu tetapkan ke ProviderId.PHONE.
providerId "ponsel" Selalu tetapkan ke ProviderId.PHONE.

Metode

Metode Pengubah Deskripsi
kredensial(verificationId, verificationCode) static Membuat kredensial autentikasi telepon, dengan ID verifikasi dari PhoneAuthProvider.verifyPhoneNumber() dan kode yang dikirim ke perangkat seluler pengguna.
credentialFromError(error) static Menampilkan AuthCredential saat menerima error.
credentialFromResult(userCredential) static Menghasilkan AuthCredential dari UserCredential.
verifyPhoneNumber(phoneOptions, applicationVerifier) Memulai alur autentikasi nomor telepon dengan mengirimkan kode verifikasi ke nomor telepon tertentu.

PhoneAuthProvider.(konstruktor)

Membuat instance baru dari class PhoneAuthProvider

Tanda Tangan:

constructor(auth: Auth);

Parameter

Parameter Jenis Deskripsi
auth Autentikasi Instance Firebase Auth tempat login harus dilakukan.

PhoneAuthProvider.PHONE_SIGN_IN_METHOD

Selalu tetapkan ke SignInMethod.PHONE.

Tanda Tangan:

static readonly PHONE_SIGN_IN_METHOD: 'phone';

PhoneAuthProvider.Provider_ID

Selalu tetapkan ke ProviderId.PHONE.

Tanda Tangan:

static readonly PROVIDER_ID: 'phone';

PhoneAuthProvider.providerId

Selalu tetapkan ke ProviderId.PHONE.

Tanda Tangan:

readonly providerId: "phone";

PhoneAuthProvider.credential()

Membuat kredensial autentikasi telepon, dengan ID verifikasi dari PhoneAuthProvider.verifyPhoneNumber() dan kode yang dikirim ke perangkat seluler pengguna.

Tanda Tangan:

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

Parameter

Parameter Jenis Deskripsi
IDverifikasi string ID verifikasi yang ditampilkan dari PhoneAuthProvider.verifyPhoneNumber().
kodeverifikasi string Kode verifikasi yang dikirim ke perangkat seluler pengguna.

Hasil:

PhoneAuthCredential

Kredensial penyedia autentikasi.

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

Contoh 2

Alur alternatif disediakan menggunakan metode signInWithPhoneNumber.

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

PhoneAuthProvider.credentialFromError()

Menampilkan AuthCredential saat menerima error.

Metode ini berfungsi untuk error seperti auth/account-exists-with-different-credentials. Tindakan ini berguna untuk memulihkan saat mencoba menetapkan nomor telepon pengguna, tetapi nomor yang dimaksud sudah terhubung dengan akun lain. Misalnya, kode berikut mencoba memperbarui nomor telepon pengguna saat ini, dan jika gagal, menautkan pengguna dengan akun yang terkait dengan nomor tersebut:

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.

Tanda Tangan:

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

Parameter

Parameter Jenis Deskripsi
error FirebaseError Error untuk membuat kredensial.

Hasil:

AuthCredential | null (kosong)

PhoneAuthProvider.credentialFromResult()

Menghasilkan AuthCredential dari UserCredential.

Tanda Tangan:

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

Parameter

Parameter Jenis Deskripsi
kredensialpengguna Kredensial Pengguna Kredensial pengguna.

Hasil:

AuthCredential | null (kosong)

PhoneAuthProvider.verifyPhoneNumber()

Memulai alur autentikasi nomor telepon dengan mengirimkan kode verifikasi ke nomor telepon tertentu.

Tanda Tangan:

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

Parameter

Parameter Jenis Deskripsi
phoneOptions PhoneInfoOptions | {i>string<i}
applicationVerifier ApplicationVerifier Untuk mencegah penyalahgunaan, metode ini juga memerlukan ApplicationVerifier. SDK ini mencakup implementasi berbasis reCAPTCHA, RecaptchaVerifier.

Hasil:

Promise<string>

Promise untuk ID verifikasi yang dapat diteruskan ke PhoneAuthProvider.credential() untuk mengidentifikasi alur ini.

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

Contoh 2

Alur alternatif disediakan menggunakan metode signInWithPhoneNumber.

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

Contoh

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