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