MultiFactorUser interface

Une interface qui définit les propriétés et les opérations multifactorielles relatives à un utilisateur .

Signature:

export interface MultiFactorUser 

Propriétés

Propriété Taper Description
Facteurs inscrits MultiFactorInfo [] Renvoie une liste des seconds facteurs inscrits par l'utilisateur.

Méthodes

Méthode Description
inscription (assertion, displayName) Inscrit un deuxième facteur identifié par MultiFactorAssertion pour l'utilisateur.
getSession() Renvoie l'identifiant de session pour une opération d'inscription à un deuxième facteur. Ceci est utilisé pour identifier l’utilisateur qui tente d’inscrire un deuxième facteur.
se désinscrire (option) Désinscrit le deuxième facteur spécifié.

MultiFactorUser.enrolledFactors

Renvoie une liste des seconds facteurs inscrits par l'utilisateur.

Signature:

readonly enrolledFactors: MultiFactorInfo[];

MultiFactorUser.enroll()

Inscrit un deuxième facteur identifié par MultiFactorAssertion pour l'utilisateur.

Lors de la résolution, les jetons utilisateur sont mis à jour pour refléter le changement dans la charge utile JWT. Accepte un paramètre de nom d’affichage supplémentaire utilisé pour identifier le deuxième facteur auprès de l’utilisateur final. Une ré-authentification récente est nécessaire pour que cette opération réussisse. En cas d'inscription réussie, les sessions Firebase existantes (jetons d'actualisation) sont révoquées. Lorsqu'un nouveau facteur est inscrit, une notification par e-mail est envoyée à l'adresse e-mail de l'utilisateur.

Signature:

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

Paramètres

Paramètre Taper Description
affirmation Assertion multifacteur L'assertion multifactorielle avec laquelle s'inscrire.
Afficher un nom chaîne | nul Le nom d’affichage du deuxième facteur.

Retour:

Promesse<vide>

Exemple

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

Renvoie l'identifiant de session pour une opération d'inscription à un deuxième facteur. Ceci est utilisé pour identifier l’utilisateur qui tente d’inscrire un deuxième facteur.

Signature:

getSession(): Promise<MultiFactorSession>;

Retour:

Promesse< MultiFactorSession >

La promesse qui se résout avec MultiFactorSession .

Exemple

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

Désinscrit le deuxième facteur spécifié.

Pour spécifier le facteur à supprimer, transmettez un objet MultiFactorInfo (récupéré de MultiFactorUser.enrolledFactors ) ou la chaîne UID du facteur. Les sessions ne sont pas révoquées lorsque le compte est désinscrit. Une notification par e-mail est susceptible d'être envoyée à l'utilisateur pour l'informer du changement. Une ré-authentification récente est nécessaire pour que cette opération réussisse. Lorsqu'un facteur existant est désinscrit, une notification par e-mail est envoyée à l'adresse e-mail de l'utilisateur.

Signature:

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

Paramètres

Paramètre Taper Description
option MultiFactorInfo | chaîne L’option multifactorielle pour se désinscrire.

Retour:

Promesse<vide>

  • Une Promise qui se résout lorsque l’opération de désinscription est terminée.

Exemple

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