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