MultiFactorUser interface

Bir Kullanıcıya ait çok faktörlü özellikleri ve işlemleri tanımlayan bir arayüz .

İmza:

export interface MultiFactorUser 

Özellikler

Mülk Tip Tanım
kayıtlıFaktörler MultiFactorInfo [] Kullanıcının kayıtlı ikinci faktörlerinin bir listesini döndürür.

Yöntemler

Yöntem Tanım
enroll(iddia, displayName) Kullanıcı için MultiFactorAssertion tarafından tanımlanan ikinci bir faktörü kaydeder.
getSession() İkinci faktör kayıt işlemi için oturum tanımlayıcısını döndürür. Bu, ikinci bir faktörü kaydetmeye çalışan kullanıcıyı tanımlamak için kullanılır.
kaydı iptal et (seçenek) Belirtilen ikinci faktörün kaydını siler.

MultiFactorUser.enrolledFactors

Kullanıcının kayıtlı ikinci faktörlerinin bir listesini döndürür.

İmza:

readonly enrolledFactors: MultiFactorInfo[];

MultiFactorUser.enroll()

Kullanıcı için MultiFactorAssertion tarafından tanımlanan ikinci bir faktörü kaydeder.

Çözünürlük üzerine kullanıcı belirteçleri, JWT yükündeki değişikliği yansıtacak şekilde güncellenir. Son kullanıcıya ikinci faktörü tanımlamak için kullanılan ek bir görünen ad parametresini kabul eder. Bu işlemin başarılı olması için yakın zamanda yeniden kimlik doğrulama yapılması gerekiyor. Başarılı kayıt durumunda mevcut Firebase oturumları (yenileme jetonları) iptal edilir. Yeni bir faktör kaydedildiğinde kullanıcının e-posta adresine bir e-posta bildirimi gönderilir.

İmza:

enroll(assertion: MultiFactorAssertion, displayName?: string | null): Promise<void>;

Parametreler

Parametre Tip Tanım
iddia Çok Faktörlü Onay Kaydolmak için çok faktörlü iddia.
ekran adı dize | hükümsüz İkinci faktörün görünen adı.

İadeler:

Söz<void>

Örnek

const multiFactorUser = multiFactor(auth.currentUser);
const multiFactorSession = await multiFactorUser.getSession();

// Send verification code.
const phoneAuthProvider = new PhoneAuthProvider(auth);
const phoneInfoOptions = {
  phoneNumber: phoneNumber,
  session: multiFactorSession
};
const verificationId = await phoneAuthProvider.verifyPhoneNumber(phoneInfoOptions, appVerifier);

// Obtain verification code from user.
const phoneAuthCredential = PhoneAuthProvider.credential(verificationId, verificationCode);
const multiFactorAssertion = PhoneMultiFactorGenerator.assertion(phoneAuthCredential);
await multiFactorUser.enroll(multiFactorAssertion);
// Second factor enrolled.

MultiFactorUser.getSession()

İkinci faktör kayıt işlemi için oturum tanımlayıcısını döndürür. Bu, ikinci bir faktörü kaydetmeye çalışan kullanıcıyı tanımlamak için kullanılır.

İmza:

getSession(): Promise<MultiFactorSession>;

İadeler:

Söz < MultiFactorSession >

MultiFactorSession ile çözülen vaat .

Örnek

const multiFactorUser = multiFactor(auth.currentUser);
const multiFactorSession = await multiFactorUser.getSession();

// Send verification code.
const phoneAuthProvider = new PhoneAuthProvider(auth);
const phoneInfoOptions = {
  phoneNumber: phoneNumber,
  session: multiFactorSession
};
const verificationId = await phoneAuthProvider.verifyPhoneNumber(phoneInfoOptions, appVerifier);

// Obtain verification code from user.
const phoneAuthCredential = PhoneAuthProvider.credential(verificationId, verificationCode);
const multiFactorAssertion = PhoneMultiFactorGenerator.assertion(phoneAuthCredential);
await multiFactorUser.enroll(multiFactorAssertion);

MultiFactorUser.unenroll()

Belirtilen ikinci faktörün kaydını siler.

Kaldırılacak faktörü belirtmek için bir MultiFactorInfo nesnesini iletin ( MultiFactorUser.enrolledFactors'tan alınır) ) veya faktörün UID dizesi. Hesabın kaydı silindiğinde oturumlar iptal edilmez. Kullanıcıya değişikliği bildiren bir e-posta bildirimi gönderilmesi muhtemeldir. Bu işlemin başarılı olması için yakın zamanda yeniden kimlik doğrulama yapılması gerekiyor. Mevcut bir faktörün kaydı iptal edildiğinde kullanıcının e-posta adresine bir e-posta bildirimi gönderilir.

İmza:

unenroll(option: MultiFactorInfo | string): Promise<void>;

Parametreler

Parametre Tip Tanım
seçenek MultiFactorInfo | sicim Kaydı iptal etmek için çok faktörlü seçenek.

İadeler:

Söz<void>

  • Kayıt silme işlemi tamamlandığında çözülen bir Promise .

Örnek

const multiFactorUser = multiFactor(auth.currentUser);
// Present user the option to choose which factor to unenroll.
await multiFactorUser.unenroll(multiFactorUser.enrolledFactors[i])