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