PhoneAuthProvider class

PhoneAuthCredential oluşturma sağlayıcısı .

PhoneAuthProvider Node.js ortamında çalışmaz.

İmza:

export declare class PhoneAuthProvider 

İnşaatçılar

Oluşturucu Değiştiriciler Tanım
(yapıcı)(yetkilendirme) PhoneAuthProvider sınıfının yeni bir örneğini oluşturur

Özellikler

Mülk Değiştiriciler Tip Tanım
PHONE_SIGN_IN_METHOD static 'telefon' Her zaman SignInMethod'a ayarla .TELEFON.
PROVIDER_ID static 'telefon' Her zaman SağlayıcıKimliği olarak ayarla .TELEFON.
sağlayıcı kimliği "telefon" Her zaman SağlayıcıKimliği olarak ayarla .TELEFON.

Yöntemler

Yöntem Değiştiriciler Tanım
kimlik bilgisi(verificationId, validationCode) static PhoneAuthProvider.verifyPhoneNumber() öğesindeki doğrulama kimliği ve kullanıcının mobil cihazına gönderilen kod göz önüne alındığında, bir telefon kimlik doğrulama bilgisi oluşturur.
credentialFromError(hata) static Bir hata iletildiğinde AuthCredential değerini döndürür.
credentialFromResult(userCredential) static UserCredential'dan AuthCredential oluşturur .
validPhoneNumber(phoneOptions, applicationVerifier) Verilen telefon numarasına bir doğrulama kodu göndererek telefon numarası kimlik doğrulama akışını başlatır.

PhoneAuthProvider.(yapıcı)

PhoneAuthProvider sınıfının yeni bir örneğini oluşturur

İmza:

constructor(auth: Auth);

Parametreler

Parametre Tip Tanım
yetki Yetki Oturum açma işlemlerinin gerçekleştirileceği Firebase Auth örneği.

PhoneAuthProvider.PHONE_SIGN_IN_METHOD

Her zaman SignInMethod'a ayarla .TELEFON.

İmza:

static readonly PHONE_SIGN_IN_METHOD: 'phone';

PhoneAuthProvider.PROVIDER_ID

Her zaman SağlayıcıKimliği olarak ayarla .TELEFON.

İmza:

static readonly PROVIDER_ID: 'phone';

PhoneAuthProvider.providerId

Her zaman SağlayıcıKimliği olarak ayarla .TELEFON.

İmza:

readonly providerId: "phone";

PhoneAuthProvider.credential()

PhoneAuthProvider.verifyPhoneNumber() öğesindeki doğrulama kimliği ve kullanıcının mobil cihazına gönderilen kod göz önüne alındığında, bir telefon kimlik doğrulama bilgisi oluşturur.

İmza:

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

Parametreler

Parametre Tip Tanım
doğrulama kimliği sicim PhoneAuthProvider.verifyPhoneNumber() işlevinden döndürülen doğrulama kimliği .
doğrulama kodu sicim Kullanıcının mobil cihazına gönderilen doğrulama kodu.

İadeler:

Telefon Kimlik Doğrulaması

Kimlik doğrulama sağlayıcısının kimlik bilgisi.

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

Örnek 2

signInWithPhoneNumber yöntemi kullanılarak alternatif bir akış sağlanır.

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

PhoneAuthProvider.credentialFromError()

Bir hata iletildiğinde AuthCredential değerini döndürür.

Bu yöntem auth/account-exists-with-different-credentials gibi hatalar için işe yarar . Bu, bir kullanıcının telefon numarasını ayarlamaya çalışırken söz konusu numaranın zaten başka bir hesaba bağlı olduğu durumlarda kurtarma için kullanışlıdır. Örneğin, aşağıdaki kod geçerli kullanıcının telefon numarasını güncellemeye çalışır ve bu başarısız olursa kullanıcıyı bu numarayla ilişkili hesaba bağlar:

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.

İmza:

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

Parametreler

Parametre Tip Tanım
hata Firebase Hatası Kimlik bilgisi oluşturma hatası.

İadeler:

Kimlik Bilgisi | hükümsüz

PhoneAuthProvider.credentialFromResult()

UserCredential'dan AuthCredential oluşturur .

İmza:

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

Parametreler

Parametre Tip Tanım
Kullanıcı Kimlik Bilgisi Kullanıcı Kimlik Bilgileri Kullanıcı kimlik bilgisi.

İadeler:

Kimlik Bilgisi | hükümsüz

PhoneAuthProvider.verifyPhoneNumber()

Verilen telefon numarasına bir doğrulama kodu göndererek telefon numarası kimlik doğrulama akışını başlatır.

İmza:

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

Parametreler

Parametre Tip Tanım
telefonSeçenekleri TelefonBilgi Seçenekleri | sicim
uygulamaDoğrulayıcı Uygulama Doğrulayıcı Kötüye kullanımın önlenmesi için bu yöntem aynı zamanda bir ApplicationVerifier gerektirir. . Bu SDK, reCAPTCHA tabanlı bir uygulama olan RecaptchaVerifier'ı içerir .

İadeler:

Söz<string>

Bu akışı tanımlamak için PhoneAuthProvider.credential()' a iletilebilecek bir doğrulama kimliği Taahhüdü.

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

Örnek 2

signInWithPhoneNumber yöntemi kullanılarak alternatif bir akış sağlanır.

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

Örnek

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