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