MultiFactorUser interface

Uma interface que define as propriedades e operações relacionadas a vários fatores pertencentes a um usuário .

Assinatura:

export interface MultiFactorUser 

Propriedades

Propriedade Modelo Descrição
fatores registrados MultiFactorInfo [] Retorna uma lista dos segundos fatores registrados do usuário.

Métodos

Método Descrição
inscrever(afirmação, displayName) Inscreve um segundo fator conforme identificado pelo MultiFactorAssertion para o usuário.
getSession() Retorna o identificador de sessão para uma operação de registro de segundo fator. Isso é usado para identificar o usuário que está tentando registrar um segundo fator.
cancelar inscrição (opção) Cancela a inscrição do segundo fator especificado.

MultiFactorUser.enrolledFactors

Retorna uma lista dos segundos fatores registrados do usuário.

Assinatura:

readonly enrolledFactors: MultiFactorInfo[];

MultiFactorUser.enroll()

Inscreve um segundo fator conforme identificado pelo MultiFactorAssertion para o usuário.

Na resolução, os tokens do usuário são atualizados para refletir a alteração na carga útil do JWT. Aceita um parâmetro de nome de exibição adicional usado para identificar o segundo fator para o usuário final. É necessária uma nova autenticação recente para que esta operação seja bem-sucedida. No registro bem-sucedido, as sessões existentes do Firebase (tokens de atualização) são revogadas. Quando um novo fator é cadastrado, uma notificação por e-mail é enviada para o e-mail do usuário.

Assinatura:

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

Parâmetros

Parâmetro Modelo Descrição
afirmação Asserção multifator A afirmação multifatorial para se inscrever.
Nome em Exibição seqüência | nulo O nome de exibição do segundo fator.

Devoluções:

Promessa<void>

Exemplo

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

Retorna o identificador de sessão para uma operação de registro de segundo fator. Isso é usado para identificar o usuário que está tentando registrar um segundo fator.

Assinatura:

getSession(): Promise<MultiFactorSession>;

Devoluções:

Promessa< MultiFactorSession >

A promessa que resolve com o MultiFactorSession .

Exemplo

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

Cancela a inscrição do segundo fator especificado.

Para especificar o fator a ser removido, passe um objeto MultiFactorInfo (recuperado de MultiFactorUser.enrolledFactors ) ou a string UID do fator. As sessões não são revogadas quando a conta é cancelada. É provável que uma notificação por e-mail seja enviada ao usuário notificando-o sobre a alteração. É necessária uma nova autenticação recente para que esta operação seja bem-sucedida. Quando um fator existente é cancelado, uma notificação por e-mail é enviada para o e-mail do usuário.

Assinatura:

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

Parâmetros

Parâmetro Modelo Descrição
opção MultiFactorInfo | corda A opção multifator para cancelar a inscrição.

Devoluções:

Promessa<void>

  • Uma Promise que é resolvida quando a operação de cancelamento de inscrição é concluída.

Exemplo

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