MultiFactorUser interface

Bir Kullanıcı'ya ait çok öğeliyle ilgili özellikleri ve işlemleri tanımlayan arayüz.

İmza:

export interface MultiFactorUser 

Özellikler

Özellik Tür Açıklama
enrolledFactors MultiFactorInfo[] Kullanıcının kayıtlı ikinci faktörlerinin listesini döndürür.

Yöntemler

Yöntem Açıklama
enroll(assertion, displayName) Kullanıcı için MultiFactorAssertion tarafından tanımlandığı şekilde ikinci bir faktör kaydeder.
getSession() İkinci faktör kayıt işleminin 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(option) Belirtilen ikinci faktör kaydını iptal eder.

MultiFactorUser.enrolledFactors

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

İmza:

readonly enrolledFactors: MultiFactorInfo[];

MultiFactorUser.enroll()

Kullanıcı için MultiFactorAssertion tarafından tanımlandığı şekilde ikinci bir faktör kaydeder.

Çözümleme sırasında kullanıcı jetonları, JWT yükündeki değişikliği yansıtacak şekilde güncellenir. İkinci faktörü son kullanıcıya 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 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 Tür Açıklama
onaylama MultiFactorAssertion Kaydolmak için kullanılan çok öğeli onay.
görünen ad dize | boş İkinci faktörün görünen adı.

Şunu döndürür:

Taahhüt<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şleminin 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>;

Şunu döndürür:

Promise<MultiFactorSession>

MultiFactorSession ile sonuçlanacak 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 kaydını iptal eder.

Kaldırılacak faktörü belirtmek için bir MultiFactorInfo nesnesini (MultiFactorUser.enrolledFactors öğesinden alınır) veya faktörün UID dizesini iletin. Hesabın kaydı iptal edildiğinde oturumlar iptal edilmez. Kullanıcıya, değişikliği bildiren bir e-posta bildirimi büyük olasılıkla gönderilir. Bu işlemin başarılı olması için yakın zamanda yeniden kimlik doğrulama gerekiyor. Mevcut bir faktör 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 Tür Açıklama
option MultiFactorInfo | dize Kaydı iptal etmek için çok öğeli seçeneği

Şunu döndürür:

Taahhüt<void>

  • Kaydı iptal etme işlemi tamamlandığında çözümlenen bir Promise.

Örnek

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