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