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 | Tipo | Descrição |
---|---|---|
fatores inscritos | MultiFactorInfo [] | Retorna uma lista dos segundos fatores inscritos do usuário. |
Métodos
Método | Descrição |
---|---|
inscrever-se (afirmação, displayName) | Inscreve um segundo fator conforme identificado pela MultiFactorAssertion para o usuário. |
getSessão() | Retorna o identificador de sessão para uma operação de inscrição de segundo fator. Isto é usado para identificar o usuário que está tentando inscrever um segundo fator. |
cancelar inscrição (opção) | Cancela a inscrição do segundo fator especificado. |
MultiFactorUser.enrolledFactors
Retorna uma lista dos segundos fatores inscritos do usuário.
Assinatura:
readonly enrolledFactors: MultiFactorInfo[];
MultiFactorUser.enroll()
Inscreve um segundo fator conforme identificado pela 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. Após a inscrição bem-sucedida, as sessões existentes do Firebase (tokens de atualização) serã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 | Tipo | Descrição |
---|---|---|
afirmação | Asserção MultiFactor | A afirmação multifatorial para se inscrever. |
nome de exibição | corda | nulo | O nome de exibição do segundo fator. |
Retorna:
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 inscrição de segundo fator. Isto é usado para identificar o usuário que está tentando inscrever um segundo fator.
Assinatura:
getSession(): Promise<MultiFactorSession>;
Retorna:
Promessa< MultiFactorSession >
A promessa que se 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 inscrição da conta é cancelada. É provável que uma notificação por e-mail seja enviada ao usuário notificando-o sobre a alteração. A reautenticação recente é necessária para que esta operação seja bem-sucedida. Quando a inscrição de um fator existente é cancelada, 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 | Tipo | Descrição |
---|---|---|
opção | MultiFactorInfo | corda | A opção multifatorial para cancelar a inscrição. |
Retorna:
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])