PhoneAuthProvider class

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

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

İmza:

export declare class PhoneAuthProvider 

Markalar

Marka Değiştiriciler Açıklama
(oluşturucu)(auth) PhoneAuthProvider sınıfının yeni bir örneğini oluşturur

Özellikler

Özellik Değiştiriciler Tür Açıklama
PHONE_SIGN_IN_METHOD static "telefon" Her zaman SignInMethod.PHONE olarak ayarlanmış olmalıdır.
SAĞLAYICI_KİMLİĞİ static "telefon" Her zaman ProviderId.PHONE olarak ayarlanmalıdır.
sağlayıcıKimliği "telefon" Her zaman ProviderId.PHONE olarak ayarlanmalıdır.

Yöntemler

Yöntem Değiştiriciler Açıklama
credential(verificationId, verificationCode) static PhoneAuthProvider.verifyPhoneNumber() doğrulama kimliği ve kullanıcının mobil cihazına gönderilen kod ile bir telefon kimlik doğrulaması kimlik bilgisi oluşturur.
credentialFromError(hata) static Hata iletildiğinde AuthCredential döndürür.
credentialFromResult(userCredential) static UserCredential'tan bir AuthCredential oluşturur.
verifyPhoneNumber(phoneOptions, applicationVerifier) Belirtilen telefon numarasına doğrulama kodu göndererek bir telefon numarası kimlik doğrulama akışı başlatır.

PhoneAuthProvider.(oluşturucu)

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

İmza:

constructor(auth: Auth);

Parametreler

Parametre Tür Açıklama
auth Yetkilendirme Oturum açma işlemlerinin gerçekleşmesi gereken Firebase Auth örneği.

PhoneAuthProvider.PHONE_SIGN_IN_METHOD

Her zaman SignInMethod.PHONE olarak ayarlanmış olmalıdır.

İmza:

static readonly PHONE_SIGN_IN_METHOD: 'phone';

PhoneAuthProvider.SAĞLAYICI_KİMLİĞİ

Her zaman ProviderId.PHONE olarak ayarlanmalıdır.

İmza:

static readonly PROVIDER_ID: 'phone';

PhoneAuthProvider.providerId

Her zaman ProviderId.PHONE olarak ayarlanmalıdır.

İmza:

readonly providerId: "phone";

PhoneAuthProvider.credential()

PhoneAuthProvider.verifyPhoneNumber() doğrulama kimliği ve kullanıcının mobil cihazına gönderilen kod ile bir telefon kimlik doğrulaması kimlik bilgisi oluşturur.

İmza:

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

Parametreler

Parametre Tür Açıklama
doğrulamaNo dize PhoneAuthProvider.verifyPhoneNumber() tarafından döndürülen doğrulama kimliği.
doğrulamaKodu dize Kullanıcının mobil cihazına gönderilen doğrulama kodu.

Şunu döndürür:

PhoneAuthCredential

Yetkilendirme sağlayıcı kimlik bilgisi.

1. örnek

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

2. örnek

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

Hata iletildiğinde AuthCredential döndürür.

Bu yöntem auth/account-exists-with-different-credentials gibi hatalarda işe yarar. Bu seçenek, söz konusu numara zaten başka bir hesaba bağlı olan bir kullanıcının telefon numarasını ayarlamaya çalışırken kurtarma işlemi açısından 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 güncelleme başarısız olursa kullanıcıyı, söz konusu 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 Tür Açıklama
hata Firebase Hatası Kimlik bilgisi oluşturulurken oluşan hata.

Şunu döndürür:

AuthCredential | boş

PhoneAuthProvider.credentialFromResult()

UserCredential'tan bir AuthCredential oluşturur.

İmza:

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

Parametreler

Parametre Tür Açıklama
kullanıcıKimlik Bilgisi UserCredential (Kullanıcı Kimlik Bilgisi) Kullanıcının kimlik bilgisi.

Şunu döndürür:

AuthCredential | boş

PhoneAuthProvider.verifyPhoneNumber()

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

İmza:

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

Parametreler

Parametre Tür Açıklama
telefonSeçenekleri PhoneInfoOptions | dize
uygulamaDoğrulayıcı ApplicationVerifier Kötüye kullanımın önlenmesi için bu yöntem bir ApplicationVerifier gerektirir. Bu SDK, reCAPTCHA tabanlı RecaptchaVerifier uygulaması içerir.

Şunu döndürür:

Promise<dize>

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

1. örnek

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

2. örnek

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