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