auth package

Firebase Authentication

Funções

Função Descrição
função(app, ...)
getAuth(app) Retorna a instância do Auth associada ao FirebaseApp fornecido. Se não houver instância, inicializa uma instância de Auth com dependências padrão específicas da plataforma.
initializeAuth(app, deps) Inicializa uma instância de Auth com controle refinado sobre Dependências.
função(armazenamento, ...)
getReactNativePersistence(storage) Retorna um objeto de persistência que une os AsyncStorage importados de react-native ou @react-native-community/async-storage e pode ser usado no campo de dependência de persistência em initializeAuth().
função(auth, ...)
applyActionCode(auth, oobCode) Aplica um código de verificação enviado ao usuário por e-mail ou outro mecanismo fora de banda.
beforeAuthStateChanged(auth, callback, onAbort) Adiciona um callback de bloqueio que é executado antes de uma alteração de estado de autenticação definir um novo usuário.
checkActionCode(auth, oobCode) Verifica um código de verificação enviado ao usuário por e-mail ou outro mecanismo fora de banda.
confirmPasswordReset(auth, oobCode, newPassword) Conclui o processo de redefinição de senha, fornecendo um código de confirmação e uma nova senha.
connectAuthEmulator(auth, url, options) altera a instância de Auth para se comunicar com o emulador do Firebase Auth, em vez de serviços de produção do Firebase Auth.
createUserWithEmailAndPassword(auth, email, password) Cria uma nova conta de usuário associada ao endereço de e-mail e à senha especificados.
fetchSignInMethodsForEmail(auth, email) Extrai a lista de possíveis métodos de login para o endereço de e-mail especificado. Esse método retorna uma lista vazia quando a [Proteção contra enumeração de e-mails](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection) está ativada, seja qual for o número de métodos de autenticação disponíveis para o e-mail em questão.
getMultiFactorResolver(auth, error) Fornece um MultiFactorResolver adequado para a conclusão de um fluxo de vários fatores.
getRedirectResult(auth, resolver) Retorna uma UserCredential do fluxo de login baseado em redirecionamento.
initializeRecaptchaConfig(auth) Carrega a configuração do reCAPTCHA na instância Auth.
isSignInWithEmailLink(auth, emailLink) Verifica se um link recebido é um link de login com e-mail adequado para signInWithEmailLink().
onAuthStateChanged(auth, nextOrObserver, error, completed) Adiciona um observador para mudanças no estado de login do usuário.
onIdTokenChanged(auth, nextOrObserver, error, completed) Adiciona um observador para mudanças no token de ID do usuário conectado.
revokeAccessToken(auth, token) Revoga o token de acesso fornecido. No momento, só oferece suporte aos tokens de acesso OAuth da Apple.
sendPasswordResetEmail(auth, email, actionCodeSettings) Envia um e-mail de redefinição de senha para o endereço de e-mail fornecido. Esse método não gera um erro quando não há uma conta de usuário com o endereço de e-mail especificado e a [Proteção contra enumeração de e-mails](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection) está ativada.
sendSignInLinkToEmail(auth, email, actionCodeSettings) Envia um link de e-mail de login para o usuário com o e-mail especificado.
setPersistence(auth, persistence) Altera o tipo de persistência na instância Auth para a sessão Auth salva no momento e aplica esse tipo de persistência nas próximas solicitações de login, inclusive no login com solicitações de redirecionamento.
signInAnonymously(auth) Faz login de maneira assíncrona como usuário anônimo.
signInWithCredential(auth, credential) Faz login de maneira assíncrona com as credenciais fornecidas.
signInWithCustomToken(auth, customToken) Faz login de maneira assíncrona usando um token personalizado.
signInWithEmailAndPassword(auth, email, password) Faz login de maneira assíncrona usando e-mail e senha.
signInWithEmailLink(auth, email, emailLink) Faz login de forma assíncrona usando um e-mail e um link de login por e-mail.
signInWithPhoneNumber(auth, phoneNumber, appVerifier) Faz login de maneira assíncrona usando um número de telefone.
signInWithPopup(auth, provider, resolver) Autentica um cliente do Firebase usando um fluxo de autenticação OAuth baseado em pop-up.
signInWithRedirect(auth, provider, resolver) Autentica um cliente do Firebase usando um fluxo de redirecionamento de página inteira.
signOut(auth) Desconecta o usuário atual.
updateCurrentUser(auth, user) Define de maneira assíncrona o usuário fornecido como Auth.currentUser na instância Auth.
useDeviceLanguage(auth) Define o idioma atual para a preferência padrão do dispositivo/navegador.
validatePassword(auth, password) Valida a senha em relação à política de senha configurada para o projeto ou o locatário.
verifyPasswordResetCode(auth, code) Verifica um código de redefinição de senha enviado ao usuário por e-mail ou outro mecanismo fora de banda.
função(link, ...)
parseActionCodeURL(link) (link em inglês) Analisa a string do link de ação de e-mail e retornará um ActionCodeURL se o link for válido. Caso contrário, retornará nulo.
função(usuário, ...)
deleteUser(user) Exclui e desconecta o usuário.
getIdToken(user, forceRefresh) Retorna um JSON Web Token (JWT) usado para identificar o usuário em um serviço do Firebase.
getIdTokenResult(user, forceRefresh) Retorna um JSON Web Token (JWT) desserializado usado para identificar o usuário a um serviço do Firebase.
linkWithCredential(user, credential) Vincula a conta do usuário às credenciais fornecidas.
linkWithPhoneNumber(user, phoneNumber, appVerifier) Vincula a conta do usuário ao número de telefone fornecido.
linkWithPopup(user, provider, resolver) Vincula o provedor autenticado à conta de usuário usando um fluxo de OAuth baseado em pop-up.
linkWithRedirect(user, provider, resolver) Vincula o OAuthProvider à conta de usuário usando um fluxo de redirecionamento de página inteira.
multiFactor(user) O MultiFactorUser que corresponde ao usuário.
reauthenticateWithCredential(user, credential) Reautentica um usuário com uma nova credencial.
reauthenticateWithPhoneNumber(user, phoneNumber, appVerifier) Reautentica um usuário com uma nova credencial de telefone.
reauthenticateWithPopup(user, provider, resolver) Reautentica o usuário atual com o OAuthProvider especificado usando um fluxo de OAuth baseado em pop-up.
reauthenticateWithRedirect(user, provider, resolver) Reautentica o usuário atual com o OAuthProvider especificado usando um fluxo de redirecionamento de página inteira.
reload(user) Recarrega os dados da conta do usuário se ele estiver conectado.
sendEmailVerification(user, actionCodeSettings) Envia um e-mail de verificação ao usuário.
unlink(user, providerId). Desvincula um provedor de uma conta de usuário.
updateEmail(user, newEmail) Atualiza o endereço de e-mail do usuário.
updatePassword(user, newPassword) Atualiza a senha do usuário.
updatePhoneNumber(user, credential) Atualiza o número de telefone do usuário.
updateProfile(user, { displayName, photoURL: photoUrl }) Atualiza os dados do perfil de um usuário.
verifyBeforeUpdateEmail(user, newEmail, actionCodeSettings) Envia um e-mail de verificação para um novo endereço de e-mail.
função(userCredential, ...)
getAdditionalUserInfo(userCredential) Extrai AdditionalUserInfo específico do provedor para a credencial fornecida.

Classes

Turma Descrição
ActionCodeURL Uma classe de utilitário para analisar URLs de ação de e-mail, como redefinição de senha, verificação de e-mail, login por link de e-mail etc.
AuthCredential Interface que representa as credenciais retornadas por um AuthProvider.
EmailAuthCredential Interface que representa as credenciais retornadas por EmailAuthProvider para ProviderId.PASSWORD
EmailAuthProvider Provedor para gerar EmailAuthCredential.
FacebookAuthProvider Provedor para gerar uma OAuthCredential para ProviderId.FACEBOOK.
GithubAuthProvider Provedor para gerar um OAuthCredential para ProviderId.GITHUB.
GoogleAuthProvider Provedor para gerar uma OAuthCredential para ProviderId.GOOGLE.
OAuthCredential Representa as credenciais do OAuth retornadas por um OAuthProvider.
OAuthProvider Provedor para gerar um OAuthCredential genérico.
PhoneAuthCredential Representa as credenciais retornadas por PhoneAuthProvider.
PhoneAuthProvider Provedor para gerar uma PhoneAuthCredential.
PhoneMultiFactorGenerator Provedor para gerar um PhoneMultiFactorAssertion.
RecaptchaVerifier Um verificador de aplicativo com base em reCAPTCHA.
SAMLAuthProvider Um AuthProvider para SAML.
TotpMultiFactorGenerator Provedor para gerar um TotpMultiFactorAssertion.
TotpSecret Provedor que gera um TotpMultiFactorAssertion.A chave secreta compartilhada e outros parâmetros são armazenados para gerar OTPs baseadas em tempo. Implementa métodos para recuperar a chave secreta compartilhada e gerar um URL de QR code.
TwitterAuthProvider Provedor para gerar uma OAuthCredential para ProviderId.TWITTER.

Interfaces

Interface Descrição
ActionCodeInfo Uma resposta de checkActionCode().
ActionCodeSettings Uma interface que define o URL obrigatório de estado/continuação com identificadores de pacote Android e iOS opcionais.
AdditionalUserInfo Uma estrutura com informações extras do usuário de um provedor de identidade federado.
ApplicationVerifier Um verificador para verificação de domínio e prevenção de abuso.
Autenticação Interface que representa o serviço do Firebase Auth.
AuthError Interface para um erro Auth.
AuthErrorMap Um mapeamento de códigos de erro para mensagens de erro.
AuthProvider Interface que representa um provedor de autenticação, usada para facilitar a criação de AuthCredential.
AuthSettings Interface que representa as configurações de uma instância Auth.
Configuração Interface que representa a configuração Auth.
ConfirmationResult um resultado de login, link ou reautenticação de chamada com o número de telefone;
Dependências As dependências que podem ser usadas para inicializar uma instância Auth.
EmulatorConfig Configuração do emulador do Firebase Authentication.
IdTokenResult Interface que representa o resultado do token de ID conseguido de User.getIdTokenResult().
MultiFactorAssertion A classe de base para declarar a propriedade de um segundo fator.
MultiFactorError O erro gerado quando o usuário precisa informar um segundo fator para fazer login.
MultiFactorInfo Estrutura contendo as informações de uma entidade de segundo fator.
MultiFactorResolver A classe usada para facilitar a recuperação do MultiFactorError quando um usuário precisa fornecer um segundo fator para fazer login.
MultiFactorSession Uma interface que define o objeto da sessão de vários fatores usado para registrar um segundo fator de um usuário ou ajudar a fazer o login de um usuário com um segundo fator.
MultiFactorUser Uma interface que define as propriedades e as operações relacionadas a vários fatores de um User.
OAuthCredentialOptions Define as opções para inicializar uma OAuthCredential.
ParsedToken Interface que representa um token de ID analisado.
PasswordPolicy Uma estrutura que especifica os requisitos da política de senhas.
PasswordValidationStatus Uma estrutura que indica quais requisitos da política de senhas foram atendidos ou violados e quais são eles.
Persistência Interface que cobre os possíveis tipos de mecanismo de persistência.
PhoneMultiFactorAssertion Classe para declarar a propriedade de um segundo fator do smartphone. Fornecido por PhoneMultiFactorGenerator.assertion().
PhoneMultiFactorEnrollInfoOptions Opções usadas para registrar um segundo fator.
PhoneMultiFactorInfo A subclasse da interface MultiFactorInfo para segundos fatores de número de telefone. O factorId do segundo fator é FactorId.PHONE.
PhoneMultiFactorSignInInfoOptions Opções usadas para fazer login com um segundo fator.
PhoneSingleFactorInfoOptions Opções usadas para login de fator único.
PopupRedirectResolver Um resolvedor usado para lidar com operações específicas do DOM, como signInWithPopup() ou signInWithRedirect().
ReactNativeAsyncStorage Interface para um AsyncStorage fornecido.
RecaptchaParameters Interface que representa parâmetros do reCAPTCHA.Consulte a lista de parâmetros aceitos nos [documentos sobre reCAPTCHA](https://developers.google.com/recaptcha/docs/display#render_param). Todos os parâmetros são aceitos, exceto sitekey: o Firebase Auth provisiona um reCAPTCHA para cada projeto e configura a chave do site durante a renderização.Para um reCAPTCHA invisível, defina a chave size como invisible.
TotpMultiFactorAssertion Classe para declarar a propriedade de um segundo fator do TOTP. Fornecido por TotpMultiFactorGenerator.assertionForEnrollment() e TotpMultiFactorGenerator.assertionForSignIn().
TotpMultiFactorInfo A subclasse da interface MultiFactorInfo para os segundos fatores do TOTP. O factorId desse segundo fator é FactorId.TOTP.
User Uma conta de usuário.
UserCredential Uma estrutura com um User, o OperationType e o ID do provedor.
UserInfo Informações do perfil do usuário, visíveis apenas para os apps do projeto do Firebase.
UserMetadata Interface que representa os metadados de um usuário.

Variáveis

Variável Descrição
ActionCodeOperation Uma enumeração dos possíveis tipos de ação de e-mail.
AuthErrorCodes Um mapa dos possíveis códigos de erro Auth, para facilitar a comparação com os erros gerados pelo SDK.
browserLocalPersistence Uma implementação de Persistência do tipo LOCAL usando localStorage para o armazenamento.
browserPopupRedirectResolver Uma implementação de PopupRedirectResolver adequada para aplicativos baseados em navegador.
browserSessionPersistence Uma implementação de Persistência de SESSION usando sessionStorage para o armazenamento.
cordovaPopupRedirectResolver Uma implementação de PopupRedirectResolver adequada para aplicativos baseados no Cordova.
debugErrorMap Um mapa detalhado de erros com descrições detalhadas da maioria dos códigos de erro.Consulte a discussão em AuthErrorMap
FactorId Uma enumeração de fatores que podem ser usados para a autenticação multifator.
indexedDBLocalPersistence Uma implementação de Persistência do tipo LOCAL usando indexedDB para o armazenamento.
inMemoryPersistence Uma implementação de Persistência do tipo "NONE".
OperationType Enumeração de tipos de operação com suporte.
prodErrorMap Um mapa de erros mínimo com todas as mensagens de erro detalhadas removidas.Consulte a discussão em AuthErrorMap
ProviderId Enumeração de provedores compatíveis.
SignInMethod Enumeração de métodos de login compatíveis.

Aliases de tipos

Tipo de alias Descrição
CustomParameters Mapa dos parâmetros personalizados do OAuth.
NextOrObserver Definição de tipo para um callback de evento.
PhoneInfoOptions As informações necessárias para verificar a propriedade de um número de telefone.
UserProfile Perfil de usuário usado em AdditionalUserInfo.

função(app; ...)

getAuth(app)

Retorna a instância do Auth associada ao FirebaseApp fornecido. Se não houver instância, inicializa uma instância de Auth com dependências padrão específicas da plataforma.

Signature:

export declare function getAuth(app?: FirebaseApp): Auth;

Parâmetros

Parâmetro Tipo Descrição
app FirebaseApp O app do Firebase.

Retorna:

Autenticação

initializeAuth(app, deps)

Inicializa uma instância de Auth com controle refinado sobre Dependências.

Essa função permite mais controle sobre a instância Auth do que getAuth(). getAuth usa padrões específicos da plataforma para fornecer as Dependencies. Em geral, o getAuth é a maneira mais fácil de inicializar o Auth e funciona na maioria dos casos de uso. Use initializeAuth se você precisar controlar qual camada de persistência vai ser usada ou para minimizar o tamanho do pacote se não estiver usando signInWithPopup ou signInWithRedirect.

Por exemplo, se o app usar apenas contas anônimas e você só quiser que as contas sejam salvas para a sessão atual, inicialize Auth com:

const auth = initializeAuth(app, {
  persistence: browserSessionPersistence,
  popupRedirectResolver: undefined,
});

Signature:

export declare function initializeAuth(app: FirebaseApp, deps?: Dependencies): Auth;

Parâmetros

Parâmetro Tipo Descrição
app FirebaseApp
deps Dependências

Retorna:

Autenticação

função(armazenamento, ...)

getReactNativePersistence(storage)

Retorna um objeto de persistência que une os AsyncStorage importados de react-native ou @react-native-community/async-storage e pode ser usado no campo de dependência de persistência em initializeAuth().

Signature:

export declare function getReactNativePersistence(storage: ReactNativeAsyncStorage): Persistence;

Parâmetros

Parâmetro Tipo Descrição
armazenamento ReactNativeAsyncStorage

Retorna:

Persistência

função(auth, ...)

applyActionCode(auth, oobCode)

Aplica um código de verificação enviado ao usuário por e-mail ou outro mecanismo fora de banda.

Signature:

export declare function applyActionCode(auth: Auth, oobCode: string): Promise<void>;

Parâmetros

Parâmetro Tipo Descrição
autenticação Autenticação A instância Auth.
oobCode string Um código de verificação enviado ao usuário.

Retorna:

Promise<void>

beforeAuthStateChanged(auth, callback, onAbort)

Adiciona um callback de bloqueio que é executado antes de uma alteração de estado de autenticação definir um novo usuário.

Signature:

export declare function beforeAuthStateChanged(auth: Auth, callback: (user: User | null) => void | Promise<void>, onAbort?: () => void): Unsubscribe;

Parâmetros

Parâmetro Tipo Descrição
autenticação Autenticação A instância Auth.
callback (user: User | null) => void | Promise<void> callback acionado antes que o valor do novo usuário seja definido. Se isso for gerado, isso impedirá que o usuário seja definido.
onAbort () => nulo callback acionado quando um callback beforeAuthStateChanged() posterior é gerado, permitindo desfazer efeitos colaterais

Retorna:

Cancelar inscrição

checkActionCode(auth, oobCode)

Verifica um código de verificação enviado ao usuário por e-mail ou outro mecanismo fora de banda.

Signature:

export declare function checkActionCode(auth: Auth, oobCode: string): Promise<ActionCodeInfo>;

Parâmetros

Parâmetro Tipo Descrição
autenticação Autenticação A instância Auth.
oobCode string Um código de verificação enviado ao usuário.

Retorna:

Promise<ActionCodeInfo>

sobre o código.

confirmPasswordReset(auth, oobCode, newPassword)

Conclui o processo de redefinição de senha, fornecendo um código de confirmação e uma nova senha.

Signature:

export declare function confirmPasswordReset(auth: Auth, oobCode: string, newPassword: string): Promise<void>;

Parâmetros

Parâmetro Tipo Descrição
autenticação Autenticação A instância Auth.
oobCode string Um código de confirmação enviado ao usuário.
newPassword string A nova senha.

Retorna:

Promise<void>

connectAuthEmulator(auth, url, options)

altera a instância de Auth para se comunicar com o emulador do Firebase Auth, em vez de serviços de produção do Firebase Auth.

Ele precisa ser chamado de maneira síncrona imediatamente após a primeira chamada para initializeAuth(). Não use com credenciais de produção, porque o tráfego do emulador não é criptografado.

Signature:

export declare function connectAuthEmulator(auth: Auth, url: string, options?: {
    disableWarnings: boolean;
}): void;

Parâmetros

Parâmetro Tipo Descrição
autenticação Autenticação A instância Auth.
url string O URL em que o emulador está sendo executado (por exemplo, "http://localhost:9099").
do modelo. { disableWarnings: boolean; } Opcional. O padrão de options.disableWarnings é false. Defina-o como true para desativar o banner de alerta anexado ao DOM.

Retorna:

void

Exemplo

connectAuthEmulator(auth, 'http://127.0.0.1:9099', { disableWarnings: true });

createUserWithEmailAndPassword(auth, email, password)

Cria uma nova conta de usuário associada ao endereço de e-mail e à senha especificados.

Após a criação da conta de usuário, esse usuário também será conectado ao seu app.

A criação da conta de usuário poderá falhar se ela já existir ou se a senha for inválida.

Este método não é compatível com instâncias Auth criadas com um FirebaseServerApp.

Signature:

export declare function createUserWithEmailAndPassword(auth: Auth, email: string, password: string): Promise<UserCredential>;

Parâmetros

Parâmetro Tipo Descrição
autenticação Autenticação A instância Auth.
email string O endereço de e-mail do usuário.
senha string A senha escolhida pelo usuário.

Retorna:

Promise<UserCredential>

fetchSignInMethodsForEmail(auth, email)

Extrai a lista de possíveis métodos de login para o endereço de e-mail especificado. Esse método retorna uma lista vazia quando a [Proteção contra enumeração de e-mails](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection) está ativada, seja qual for o número de métodos de autenticação disponíveis para o e-mail em questão.

Isso é útil para diferenciar métodos de login para o mesmo provedor, por exemplo, EmailAuthProvider, que tem dois métodos de login: SignInMethod.EMAIL_PASSWORD e SignInMethod.EMAIL_LINK.

Signature:

export declare function fetchSignInMethodsForEmail(auth: Auth, email: string): Promise<string[]>;

Parâmetros

Parâmetro Tipo Descrição
autenticação Autenticação A instância Auth.
email string Endereço de e-mail do usuário.Descontinuado. A migração desse método é uma prática recomendada de segurança. Saiba mais na documentação do Identity Platform sobre a [Proteção contra enumeração de e-mails](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection).

Retorna:

Promessa<string[]>

getMultiFactorResolver(auth, error)

Fornece um MultiFactorResolver adequado para a conclusão de um fluxo de vários fatores.

Signature:

export declare function getMultiFactorResolver(auth: Auth, error: MultiFactorError): MultiFactorResolver;

Parâmetros

Parâmetro Tipo Descrição
autenticação Autenticação A instância Auth.
error MultiFactorError O MultiFactorError gerado durante uma operação de login ou de reautenticação.

Retorna:

MultiFactorResolver

getRedirectResult(auth, resolver)

Retorna uma UserCredential do fluxo de login baseado em redirecionamento.

Se o login tiver ocorrido com sucesso, retornará o usuário conectado. Se não for possível fazer login, ocorrerá um erro. Se nenhuma operação de redirecionamento foi chamada, retorna null.

Esse método não funciona em um ambiente Node.js ou com instâncias Auth criadas com um FirebaseServerApp.

Signature:

export declare function getRedirectResult(auth: Auth, resolver?: PopupRedirectResolver): Promise<UserCredential | null>;

Parâmetros

Parâmetro Tipo Descrição
autenticação Autenticação A instância Auth.
resolvedor PopupRedirectResolver Uma instância de PopupRedirectResolver, opcional se já fornecida para initializeAuth() ou por getAuth().

Retorna:

Promise<UserCredential | null>

Exemplo

// Sign in using a redirect.
const provider = new FacebookAuthProvider();
// You can add additional scopes to the provider:
provider.addScope('user_birthday');
// Start a sign in process for an unauthenticated user.
await signInWithRedirect(auth, provider);
// This will trigger a full page redirect away from your app

// After returning from the redirect when your app initializes you can obtain the result
const result = await getRedirectResult(auth);
if (result) {
  // This is the signed-in user
  const user = result.user;
  // This gives you a Facebook Access Token.
  const credential = provider.credentialFromResult(auth, result);
  const token = credential.accessToken;
}
// As this API can be used for sign-in, linking and reauthentication,
// check the operationType to determine what triggered this redirect
// operation.
const operationType = result.operationType;

initializeRecaptchaConfig(auth)

Carrega a configuração do reCAPTCHA na instância Auth.

Isso vai carregar a configuração reCAPTCHA, que indica se o fluxo de verificação reCAPTCHA deve ser acionado para cada provedor de autenticação, na sessão atual do Auth.

Se bootRecaptchaConfig() não for invocado, o fluxo de autenticação sempre começará sem a verificação reCAPTCHA. Se o provedor estiver configurado para exigir a verificação reCAPTCHA, o SDK vai carregar a configuração reCAPTCHA de maneira transparente e reiniciar os fluxos de autenticação.

Assim, ao chamar esse método opcional, você reduzirá a latência de futuros fluxos de autenticação. Carregar a configuração do reCAPTCHA com antecedência também melhora o indicador coletado pelo reCAPTCHA.

Este método não funciona em um ambiente Node.js.

Signature:

export declare function initializeRecaptchaConfig(auth: Auth): Promise<void>;

Parâmetros

Parâmetro Tipo Descrição
autenticação Autenticação A instância Auth.

Retorna:

Promise<void>

Exemplo

initializeRecaptchaConfig(auth);

Verifica se um link recebido é um link de login com e-mail adequado para signInWithEmailLink().

Signature:

export declare function isSignInWithEmailLink(auth: Auth, emailLink: string): boolean;

Parâmetros

Parâmetro Tipo Descrição
autenticação Autenticação A instância Auth.
emailLink string O link enviado para o endereço de e-mail do usuário.

Retorna:

boolean

onAuthStateChanged(auth, nextOrObserver, error, completed)

Adiciona um observador para mudanças no estado de login do usuário.

Para manter o comportamento antigo, consulte onIdTokenChanged().

Signature:

export declare function onAuthStateChanged(auth: Auth, nextOrObserver: NextOrObserver<User>, error?: ErrorFn, completed?: CompleteFn): Unsubscribe;

Parâmetros

Parâmetro Tipo Descrição
autenticação Autenticação A instância Auth.
nextOrObserver NextOrObserver<Usuário> callback acionado na alteração.
error ErrorFn Obsoleto. Esse callback nunca é acionado. Erros ao fazer login/sair podem ser detectados em promessas retornadas de funções de login/sair.
concluída CompleteFn Obsoleto. Esse callback nunca é acionado.

Retorna:

Cancelar inscrição

onIdTokenChanged(auth, nextOrObserver, error, completed)

Adiciona um observador para mudanças no token de ID do usuário conectado.

Isso inclui eventos de login, logout e atualização de token. Isso não é acionado automaticamente quando o token de ID expira. Use User.getIdToken() para atualizar o token de ID.

Signature:

export declare function onIdTokenChanged(auth: Auth, nextOrObserver: NextOrObserver<User>, error?: ErrorFn, completed?: CompleteFn): Unsubscribe;

Parâmetros

Parâmetro Tipo Descrição
autenticação Autenticação A instância Auth.
nextOrObserver NextOrObserver<Usuário> callback acionado na alteração.
error ErrorFn Obsoleto. Esse callback nunca é acionado. Erros ao fazer login/sair podem ser detectados em promessas retornadas de funções de login/sair.
concluída CompleteFn Obsoleto. Esse callback nunca é acionado.

Retorna:

Cancelar inscrição

revokeAccessToken(auth, token)

Revoga o token de acesso fornecido. No momento, só oferece suporte aos tokens de acesso OAuth da Apple.

Signature:

export declare function revokeAccessToken(auth: Auth, token: string): Promise<void>;

Parâmetros

Parâmetro Tipo Descrição
autenticação Autenticação A instância Auth.
token string O token de acesso OAuth da Apple.

Retorna:

Promise<void>

sendPasswordResetEmail(auth, email, actionCodeSettings)

Envia um e-mail de redefinição de senha para o endereço de e-mail fornecido. Esse método não gera um erro quando não há uma conta de usuário com o endereço de e-mail especificado e a [Proteção contra enumeração de e-mails](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection) está ativada.

Para concluir a redefinição de senha, chame confirmPasswordReset() com o código fornecido no e-mail enviado ao usuário, junto com a nova senha especificada pelo usuário.

Signature:

export declare function sendPasswordResetEmail(auth: Auth, email: string, actionCodeSettings?: ActionCodeSettings): Promise<void>;

Parâmetros

Parâmetro Tipo Descrição
autenticação Autenticação A instância Auth.
email string O endereço de e-mail do usuário.
actionCodeSettings ActionCodeSettings O ActionCodeSettings.

Retorna:

Promise<void>

Exemplo

const actionCodeSettings = {
  url: 'https://www.example.com/?email=user@example.com',
  iOS: {
     bundleId: 'com.example.ios'
  },
  android: {
    packageName: 'com.example.android',
    installApp: true,
    minimumVersion: '12'
  },
  handleCodeInApp: true
};
await sendPasswordResetEmail(auth, 'user@example.com', actionCodeSettings);
// Obtain code from user.
await confirmPasswordReset('user@example.com', code);

sendSignInLinkToEmail(auth, email, actionCodeSettings)

Envia um link de e-mail de login para o usuário com o e-mail especificado.

É necessário sempre concluir o processo de login no app, ao contrário de outras ações fora de banda, como redefinição de senha e verificação de e-mail. Isso acontece porque o usuário precisa estar conectado e com o estado Auth mantido no app ao final do fluxo.

Para concluir o login com o link de e-mail, chame signInWithEmailLink() com o endereço de e-mail e o link fornecidos no e-mail enviado ao usuário.

Signature:

export declare function sendSignInLinkToEmail(auth: Auth, email: string, actionCodeSettings: ActionCodeSettings): Promise<void>;

Parâmetros

Parâmetro Tipo Descrição
autenticação Autenticação
email string O endereço de e-mail do usuário.
actionCodeSettings ActionCodeSettings O ActionCodeSettings.

Retorna:

Promise<void>

Exemplo

const actionCodeSettings = {
  url: 'https://www.example.com/?email=user@example.com',
  iOS: {
     bundleId: 'com.example.ios'
  },
  android: {
    packageName: 'com.example.android',
    installApp: true,
    minimumVersion: '12'
  },
  handleCodeInApp: true
};
await sendSignInLinkToEmail(auth, 'user@example.com', actionCodeSettings);
// Obtain emailLink from the user.
if(isSignInWithEmailLink(auth, emailLink)) {
  await signInWithEmailLink(auth, 'user@example.com', emailLink);
}

setPersistence(auth, persistence)

Altera o tipo de persistência na instância Auth para a sessão Auth salva no momento e aplica esse tipo de persistência nas próximas solicitações de login, inclusive no login com solicitações de redirecionamento.

Assim, o usuário que faz login pode especificar se a sessão deve ser lembrada ou não. Isso também facilita a persistência do estado Auth em aplicativos compartilhados por outros usuários ou que têm dados confidenciais.

Esse método não funciona em um ambiente Node.js ou com instâncias Auth criadas com um FirebaseServerApp.

Signature:

export declare function setPersistence(auth: Auth, persistence: Persistence): Promise<void>;

Parâmetros

Parâmetro Tipo Descrição
autenticação Autenticação A instância Auth.
persistência Persistência A Persistência a ser usada.

Retorna:

Promise<void>

Uma Promise que é resolvida quando a mudança de persistência é concluída.

Exemplo

setPersistence(auth, browserSessionPersistence);

signInAnonymously(auth)

Faz login de maneira assíncrona como usuário anônimo.

Se já houver um usuário anônimo conectado, ele será retornado; caso contrário, uma nova identidade de usuário anônimo será criada e retornada.

Este método não é compatível com instâncias Auth criadas com um FirebaseServerApp.

Signature:

export declare function signInAnonymously(auth: Auth): Promise<UserCredential>;

Parâmetros

Parâmetro Tipo Descrição
autenticação Autenticação A instância Auth.

Retorna:

Promise<UserCredential>

signInWithCredential(auth, credential)

Faz login de maneira assíncrona com as credenciais fornecidas.

Um AuthProvider pode ser usado para gerar a credencial.

Este método não é compatível com instâncias Auth criadas com um FirebaseServerApp.

Signature:

export declare function signInWithCredential(auth: Auth, credential: AuthCredential): Promise<UserCredential>;

Parâmetros

Parâmetro Tipo Descrição
autenticação Autenticação A instância Auth.
credencial AuthCredential A credencial de autenticação.

Retorna:

Promise<UserCredential>

signInWithCustomToken(auth, customToken)

Faz login de maneira assíncrona usando um token personalizado.

Os tokens personalizados são usados para integrar o Firebase Auth com sistemas de autenticação existentes e precisam ser gerados por um back-end de autenticação com o método createCustomToken no SDK Admin .

Falha com um erro se o token for inválido, tiver expirado ou não for aceito pelo serviço do Firebase Auth.

Este método não é compatível com instâncias Auth criadas com um FirebaseServerApp.

Signature:

export declare function signInWithCustomToken(auth: Auth, customToken: string): Promise<UserCredential>;

Parâmetros

Parâmetro Tipo Descrição
autenticação Autenticação A instância Auth.
customToken string O token personalizado para fazer login.

Retorna:

Promise<UserCredential>

signInWithEmailAndPassword(auth, email, password)

Faz login de maneira assíncrona usando e-mail e senha.

Ocorrerá um erro se o endereço de e-mail e a senha não forem correspondentes. Quando a [Proteção contra enumeração de e-mails](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection) está ativada, esse método falha com "auth/invalid-credential" no caso de uma senha/e-mail inválido.

Este método não é compatível com instâncias Auth criadas com um FirebaseServerApp.

Signature:

export declare function signInWithEmailAndPassword(auth: Auth, email: string, password: string): Promise<UserCredential>;

Parâmetros

Parâmetro Tipo Descrição
autenticação Autenticação A instância Auth.
email string O endereço de e-mail dos usuários.
senha string A senha dos usuários.

Retorna:

Promise<UserCredential>

Faz login de forma assíncrona usando um e-mail e um link de login por e-mail.

Se nenhum link for transmitido, ele será inferido a partir do URL atual.

Ocorrerá um erro se o endereço de e-mail for inválido ou se a OTP no link do e-mail expirar.

Este método não é compatível com instâncias Auth criadas com um FirebaseServerApp.

Signature:

export declare function signInWithEmailLink(auth: Auth, email: string, emailLink?: string): Promise<UserCredential>;

Parâmetros

Parâmetro Tipo Descrição
autenticação Autenticação A instância Auth.
email string O endereço de e-mail do usuário.
emailLink string O link enviado para o endereço de e-mail do usuário.

Retorna:

Promise<UserCredential>

Exemplo

const actionCodeSettings = {
  url: 'https://www.example.com/?email=user@example.com',
  iOS: {
     bundleId: 'com.example.ios'
  },
  android: {
    packageName: 'com.example.android',
    installApp: true,
    minimumVersion: '12'
  },
  handleCodeInApp: true
};
await sendSignInLinkToEmail(auth, 'user@example.com', actionCodeSettings);
// Obtain emailLink from the user.
if(isSignInWithEmailLink(auth, emailLink)) {
  await signInWithEmailLink(auth, 'user@example.com', emailLink);
}

signInWithPhoneNumber(auth, phoneNumber, appVerifier)

Faz login de maneira assíncrona usando um número de telefone.

Esse método envia um código via SMS para o número de telefone especificado e retorna um ConfirmationResult. Depois que o usuário informar o código enviado para o telefone, chame ConfirmationResult.confirm() com o código para fazer o login do usuário.

Para a prevenção de abusos, esse método também requer um ApplicationVerifier. Esse SDK inclui uma implementação baseada em reCAPTCHA, o RecaptchaVerifier. Essa função pode funcionar em outras plataformas que não são compatíveis com o RecaptchaVerifier (como React Native), mas você precisa usar uma implementação de ApplicationVerifier de terceiros.

Esse método não funciona em um ambiente Node.js ou com instâncias Auth criadas com um FirebaseServerApp.

Signature:

export declare function signInWithPhoneNumber(auth: Auth, phoneNumber: string, appVerifier: ApplicationVerifier): Promise<ConfirmationResult>;

Parâmetros

Parâmetro Tipo Descrição
autenticação Autenticação A instância Auth.
phoneNumber string O número de telefone do usuário no formato E.164 (por exemplo, +16505550101).
appVerifier ApplicationVerifier O ApplicationVerifier.

Retorna:

Promise<ConfirmationResult>

Exemplo

// 'recaptcha-container' is the ID of an element in the DOM.
const applicationVerifier = new firebase.auth.RecaptchaVerifier('recaptcha-container');
const confirmationResult = await signInWithPhoneNumber(auth, phoneNumber, applicationVerifier);
// Obtain a verificationCode from the user.
const credential = await confirmationResult.confirm(verificationCode);

signInWithPopup(auth, provider, resolver)

Autentica um cliente do Firebase usando um fluxo de autenticação OAuth baseado em pop-up.

Se for bem-sucedido, retorna o usuário conectado junto com a credencial do provedor. Se o login não tiver êxito, retornará um objeto de erro contendo informações adicionais sobre o erro.

Esse método não funciona em um ambiente Node.js ou com instâncias Auth criadas com um FirebaseServerApp.

Signature:

export declare function signInWithPopup(auth: Auth, provider: AuthProvider, resolver?: PopupRedirectResolver): Promise<UserCredential>;

Parâmetros

Parâmetro Tipo Descrição
autenticação Autenticação A instância Auth.
provider AuthProvider O provedor a ser autenticado. O provedor precisa ser um OAuthProvider. Provedores que não são OAuth, como o EmailAuthProvider, vão gerar um erro.
resolvedor PopupRedirectResolver Uma instância de PopupRedirectResolver, opcional se já fornecida para initializeAuth() ou por getAuth().

Retorna:

Promise<UserCredential>

Exemplo

// Sign in using a popup.
const provider = new FacebookAuthProvider();
const result = await signInWithPopup(auth, provider);

// The signed-in user info.
const user = result.user;
// This gives you a Facebook Access Token.
const credential = provider.credentialFromResult(auth, result);
const token = credential.accessToken;

signInWithRedirect(auth, provider, resolver)

Autentica um cliente do Firebase usando um fluxo de redirecionamento de página inteira.

Para lidar com os resultados e erros dessa operação, consulte getRedirectResult(). Siga as práticas recomendadas ao usar signInWithRedirect().

Esse método não funciona em um ambiente Node.js ou com instâncias Auth criadas com um FirebaseServerApp.

Signature:

export declare function signInWithRedirect(auth: Auth, provider: AuthProvider, resolver?: PopupRedirectResolver): Promise<never>;

Parâmetros

Parâmetro Tipo Descrição
autenticação Autenticação A instância Auth.
provider AuthProvider O provedor a ser autenticado. O provedor precisa ser um OAuthProvider. Provedores que não são OAuth, como o EmailAuthProvider, vão gerar um erro.
resolvedor PopupRedirectResolver Uma instância de PopupRedirectResolver, opcional se já fornecida para initializeAuth() ou por getAuth().

Retorna:

Promessa<nunca>

Exemplo

// Sign in using a redirect.
const provider = new FacebookAuthProvider();
// You can add additional scopes to the provider:
provider.addScope('user_birthday');
// Start a sign in process for an unauthenticated user.
await signInWithRedirect(auth, provider);
// This will trigger a full page redirect away from your app

// After returning from the redirect when your app initializes you can obtain the result
const result = await getRedirectResult(auth);
if (result) {
  // This is the signed-in user
  const user = result.user;
  // This gives you a Facebook Access Token.
  const credential = provider.credentialFromResult(auth, result);
  const token = credential.accessToken;
}
// As this API can be used for sign-in, linking and reauthentication,
// check the operationType to determine what triggered this redirect
// operation.
const operationType = result.operationType;

signOut(auth)

Desconecta o usuário atual.

Este método não é compatível com instâncias Auth criadas com um FirebaseServerApp.

Signature:

export declare function signOut(auth: Auth): Promise<void>;

Parâmetros

Parâmetro Tipo Descrição
autenticação Autenticação A instância Auth.

Retorna:

Promise<void>

updateCurrentUser(auth, user)

Define de maneira assíncrona o usuário fornecido como Auth.currentUser na instância Auth.

Uma nova cópia da instância do usuário fornecido será criada e definida como currentUser.

Isso acionará os listeners onAuthStateChanged() e onIdTokenChanged() da mesma forma que outros métodos de login.

A operação falhará com um erro se o usuário a ser atualizado pertencer a um projeto diferente do Firebase.

Este método não é compatível com instâncias Auth criadas com um FirebaseServerApp.

Signature:

export declare function updateCurrentUser(auth: Auth, user: User | null): Promise<void>;

Parâmetros

Parâmetro Tipo Descrição
autenticação Autenticação A instância Auth.
usuário Usuário | nulo O novo User.

Retorna:

Promise<void>

useDeviceLanguage(auth)

Define o idioma atual para a preferência padrão do dispositivo/navegador.

Signature:

export declare function useDeviceLanguage(auth: Auth): void;

Parâmetros

Parâmetro Tipo Descrição
autenticação Autenticação A instância Auth.

Retorna:

void

validatePassword(auth, password)

Valida a senha em relação à política de senha configurada para o projeto ou o locatário.

Se nenhum ID de locatário for definido na instância Auth, esse método usará a política de senha configurada para o projeto. Caso contrário, este método usará a política configurada para o locatário. Se uma política de senha não tiver sido configurada, a política padrão configurada para todos os projetos será usada.

Se um fluxo de autenticação falhar porque uma senha enviada não atende aos requisitos da política de senha e esse método já foi chamado, o método usará a política mais recente disponível quando chamado novamente.

Signature:

export declare function validatePassword(auth: Auth, password: string): Promise<PasswordValidationStatus>;

Parâmetros

Parâmetro Tipo Descrição
autenticação Autenticação A instância Auth.
senha string Senha a ser validada.

Retorna:

Promise<PasswordValidationStatus>

Exemplo

validatePassword(auth, 'some-password');

verifyPasswordResetCode(auth, code)

Verifica um código de redefinição de senha enviado ao usuário por e-mail ou outro mecanismo fora de banda.

Signature:

export declare function verifyPasswordResetCode(auth: Auth, code: string): Promise<string>;

Parâmetros

Parâmetro Tipo Descrição
autenticação Autenticação A instância Auth.
código string Um código de verificação enviado ao usuário.

Retorna:

Promessa<string>

o endereço de e-mail do usuário, se for válido.

parseActionCodeURL(link)

Analisa a string do link de ação de e-mail e retornará um ActionCodeURL se o link for válido. Caso contrário, retornará nulo.

Signature:

export declare function parseActionCodeURL(link: string): ActionCodeURL | null;

Parâmetros

Parâmetro Tipo Descrição
link string

Retorna:

ActionCodeURL | nulo

função(usuário, ...)

deleteUser(user)

Exclui e desconecta o usuário.

Signature:

export declare function deleteUser(user: User): Promise<void>;

Parâmetros

Parâmetro Tipo Descrição
usuário User O usuário.

Retorna:

Promise<void>

getIdToken(user, forceRefresh)

Retorna um JSON Web Token (JWT) usado para identificar o usuário em um serviço do Firebase.

Retorna o token atual se não tiver expirado ou se não expirar nos próximos cinco minutos. Caso contrário, o token será atualizado e um novo será retornado.

Signature:

export declare function getIdToken(user: User, forceRefresh?: boolean): Promise<string>;

Parâmetros

Parâmetro Tipo Descrição
usuário User O usuário.
forceRefresh boolean Forçar a atualização, independentemente da expiração do token.

Retorna:

Promessa<string>

getIdTokenResult(user, forceRefresh)

Retorna um JSON Web Token (JWT) desserializado usado para identificar o usuário a um serviço do Firebase.

Retorna o token atual se não tiver expirado ou se não expirar nos próximos cinco minutos. Caso contrário, o token será atualizado e um novo será retornado.

Signature:

export declare function getIdTokenResult(user: User, forceRefresh?: boolean): Promise<IdTokenResult>;

Parâmetros

Parâmetro Tipo Descrição
usuário User O usuário.
forceRefresh boolean Forçar a atualização, independentemente da expiração do token.

Retorna:

Promise<IdTokenResult>

linkWithCredential(user, credential)

Vincula a conta do usuário às credenciais fornecidas.

Um AuthProvider pode ser usado para gerar a credencial.

Signature:

export declare function linkWithCredential(user: User, credential: AuthCredential): Promise<UserCredential>;

Parâmetros

Parâmetro Tipo Descrição
usuário User O usuário.
credencial AuthCredential A credencial de autenticação.

Retorna:

Promise<UserCredential>

linkWithPhoneNumber(user, phoneNumber, appVerifier)

Vincula a conta do usuário ao número de telefone fornecido.

Este método não funciona em um ambiente Node.js.

Signature:

export declare function linkWithPhoneNumber(user: User, phoneNumber: string, appVerifier: ApplicationVerifier): Promise<ConfirmationResult>;

Parâmetros

Parâmetro Tipo Descrição
usuário User O usuário.
phoneNumber string O número de telefone do usuário no formato E.164 (por exemplo, +16505550101).
appVerifier ApplicationVerifier O ApplicationVerifier.

Retorna:

Promise<ConfirmationResult>

linkWithPopup(user, provider, resolver)

Vincula o provedor autenticado à conta de usuário usando um fluxo de OAuth baseado em pop-up.

Se a vinculação for bem-sucedida, o resultado retornado conterá o usuário e a credencial do provedor.

Este método não funciona em um ambiente Node.js.

Signature:

export declare function linkWithPopup(user: User, provider: AuthProvider, resolver?: PopupRedirectResolver): Promise<UserCredential>;

Parâmetros

Parâmetro Tipo Descrição
usuário User O usuário.
provider AuthProvider O provedor a ser autenticado. O provedor precisa ser um OAuthProvider. Provedores que não são OAuth, como o EmailAuthProvider, vão gerar um erro.
resolvedor PopupRedirectResolver Uma instância de PopupRedirectResolver, opcional se já fornecida para initializeAuth() ou por getAuth().

Retorna:

Promise<UserCredential>

Exemplo

// Sign in using some other provider.
const result = await signInWithEmailAndPassword(auth, email, password);
// Link using a popup.
const provider = new FacebookAuthProvider();
await linkWithPopup(result.user, provider);

linkWithRedirect(user, provider, resolver)

Vincula o OAuthProvider à conta de usuário usando um fluxo de redirecionamento de página inteira.

Para processar os resultados e erros dessa operação, consulte getRedirectResult(). Siga as práticas recomendadas ao usar linkWithRedirect().

Esse método não funciona em um ambiente Node.js ou com instâncias Auth criadas com um FirebaseServerApp.

Signature:

export declare function linkWithRedirect(user: User, provider: AuthProvider, resolver?: PopupRedirectResolver): Promise<never>;

Parâmetros

Parâmetro Tipo Descrição
usuário User O usuário.
provider AuthProvider O provedor a ser autenticado. O provedor precisa ser um OAuthProvider. Provedores que não são OAuth, como o EmailAuthProvider, vão gerar um erro.
resolvedor PopupRedirectResolver Uma instância de PopupRedirectResolver, opcional se já fornecida para initializeAuth() ou por getAuth().

Retorna:

Promessa<nunca>

Exemplo

// Sign in using some other provider.
const result = await signInWithEmailAndPassword(auth, email, password);
// Link using a redirect.
const provider = new FacebookAuthProvider();
await linkWithRedirect(result.user, provider);
// This will trigger a full page redirect away from your app

// After returning from the redirect when your app initializes you can obtain the result
const result = await getRedirectResult(auth);

multiFactor(user)

O MultiFactorUser que corresponde ao usuário.

Isso é usado para acessar todas as propriedades e operações de múltiplos fatores relacionadas ao usuário.

Signature:

export declare function multiFactor(user: User): MultiFactorUser;

Parâmetros

Parâmetro Tipo Descrição
usuário User O usuário.

Retorna:

MultiFactorUser

reauthenticateWithCredential(user, credential)

Reautentica um usuário com uma nova credencial.

Use antes de operações como updatePassword() que exigem tokens de tentativas de login recentes. Este método pode ser usado para recuperação após um erro CREDENTIAL_TOO_OLD_LOGIN_AGAIN ou TOKEN_EXPIRED.

Esse método não é aceito por qualquer User conectado por instâncias de Auth criadas com um FirebaseServerApp.

Signature:

export declare function reauthenticateWithCredential(user: User, credential: AuthCredential): Promise<UserCredential>;

Parâmetros

Parâmetro Tipo Descrição
usuário User O usuário.
credencial AuthCredential A credencial de autenticação.

Retorna:

Promise<UserCredential>

reauthenticateWithPhoneNumber(user, phoneNumber, appVerifier)

Reautentica um usuário com uma nova credencial de telefone.

Use antes de operações como updatePassword() que exigem tokens de tentativas de login recentes.

Esse método não funciona em um ambiente Node.js ou em qualquer User conectado por instâncias Auth criadas com um FirebaseServerApp.

Signature:

export declare function reauthenticateWithPhoneNumber(user: User, phoneNumber: string, appVerifier: ApplicationVerifier): Promise<ConfirmationResult>;

Parâmetros

Parâmetro Tipo Descrição
usuário User O usuário.
phoneNumber string O número de telefone do usuário no formato E.164 (por exemplo, +16505550101).
appVerifier ApplicationVerifier O ApplicationVerifier.

Retorna:

Promise<ConfirmationResult>

reauthenticateWithPopup(user, provider, resolver)

Reautentica o usuário atual com o OAuthProvider especificado usando um fluxo de OAuth baseado em pop-up.

Se a reautenticação for bem-sucedida, o resultado retornado conterá o usuário e a credencial do provedor.

Esse método não funciona em um ambiente Node.js ou em qualquer User conectado por instâncias Auth criadas com um FirebaseServerApp.

Signature:

export declare function reauthenticateWithPopup(user: User, provider: AuthProvider, resolver?: PopupRedirectResolver): Promise<UserCredential>;

Parâmetros

Parâmetro Tipo Descrição
usuário User O usuário.
provider AuthProvider O provedor a ser autenticado. O provedor precisa ser um OAuthProvider. Provedores que não são OAuth, como o EmailAuthProvider, vão gerar um erro.
resolvedor PopupRedirectResolver Uma instância de PopupRedirectResolver, opcional se já fornecida para initializeAuth() ou por getAuth().

Retorna:

Promise<UserCredential>

Exemplo

// Sign in using a popup.
const provider = new FacebookAuthProvider();
const result = await signInWithPopup(auth, provider);
// Reauthenticate using a popup.
await reauthenticateWithPopup(result.user, provider);

reauthenticateWithRedirect(user, provider, resolver)

Reautentica o usuário atual com o OAuthProvider especificado usando um fluxo de redirecionamento de página inteira.

Para processar os resultados e erros dessa operação, consulte getRedirectResult(). Siga as práticas recomendadas ao usar reauthenticateWithRedirect().

Esse método não funciona em um ambiente Node.js ou com instâncias Auth criadas com um FirebaseServerApp.

Signature:

export declare function reauthenticateWithRedirect(user: User, provider: AuthProvider, resolver?: PopupRedirectResolver): Promise<never>;

Parâmetros

Parâmetro Tipo Descrição
usuário User O usuário.
provider AuthProvider O provedor a ser autenticado. O provedor precisa ser um OAuthProvider. Provedores que não são OAuth, como o EmailAuthProvider, vão gerar um erro.
resolvedor PopupRedirectResolver Uma instância de PopupRedirectResolver, opcional se já fornecida para initializeAuth() ou por getAuth().

Retorna:

Promessa<nunca>

Exemplo

// Sign in using a redirect.
const provider = new FacebookAuthProvider();
const result = await signInWithRedirect(auth, provider);
// This will trigger a full page redirect away from your app

// After returning from the redirect when your app initializes you can obtain the result
const result = await getRedirectResult(auth);
// Reauthenticate using a redirect.
await reauthenticateWithRedirect(result.user, provider);
// This will again trigger a full page redirect away from your app

// After returning from the redirect when your app initializes you can obtain the result
const result = await getRedirectResult(auth);

atualizar(usuário)

Recarrega os dados da conta do usuário se ele estiver conectado.

Signature:

export declare function reload(user: User): Promise<void>;

Parâmetros

Parâmetro Tipo Descrição
usuário User O usuário.

Retorna:

Promise<void>

sendEmailVerification(user, actionCodeSettings)

Envia um e-mail de verificação ao usuário.

Para concluir o processo de verificação, chame applyActionCode().

Signature:

export declare function sendEmailVerification(user: User, actionCodeSettings?: ActionCodeSettings | null): Promise<void>;

Parâmetros

Parâmetro Tipo Descrição
usuário User O usuário.
actionCodeSettings ActionCodeSettings | nulo O ActionCodeSettings.

Retorna:

Promise<void>

Exemplo

const actionCodeSettings = {
  url: 'https://www.example.com/?email=user@example.com',
  iOS: {
     bundleId: 'com.example.ios'
  },
  android: {
    packageName: 'com.example.android',
    installApp: true,
    minimumVersion: '12'
  },
  handleCodeInApp: true
};
await sendEmailVerification(user, actionCodeSettings);
// Obtain code from the user.
await applyActionCode(auth, code);

Desvincula um provedor de uma conta de usuário.

Signature:

export declare function unlink(user: User, providerId: string): Promise<User>;

Parâmetros

Parâmetro Tipo Descrição
usuário User O usuário.
providerId string O provedor que será desvinculado.

Retorna:

Prometer<usuário>

updateEmail(user, newEmail)

Atualiza o endereço de e-mail do usuário.

Um e-mail será enviado ao endereço de e-mail original (se tiver sido definido) que permite revogar a alteração do endereço de e-mail, para proteger contra invasão de conta.

Esse método não é aceito por qualquer User conectado por instâncias de Auth criadas com um FirebaseServerApp.

Signature:

export declare function updateEmail(user: User, newEmail: string): Promise<void>;

Parâmetros

Parâmetro Tipo Descrição
usuário User O usuário.
newEmail string O novo endereço de e-mail.O erro "auth/operation-not-allowed" é gerado quando a [Proteção contra enumeração de e-mails](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection) está ativada. Obsoleto: use verifyBeforeUpdateEmail().

Retorna:

Promise<void>

updatePassword(user, newPassword)

Atualiza a senha do usuário.

Signature:

export declare function updatePassword(user: User, newPassword: string): Promise<void>;

Parâmetros

Parâmetro Tipo Descrição
usuário User O usuário.
newPassword string A nova senha.

Retorna:

Promise<void>

updatePhoneNumber(user, credential)

Atualiza o número de telefone do usuário.

Esse método não funciona em um ambiente Node.js ou em qualquer User conectado por instâncias Auth criadas com um FirebaseServerApp.

Signature:

export declare function updatePhoneNumber(user: User, credential: PhoneAuthCredential): Promise<void>;

Parâmetros

Parâmetro Tipo Descrição
usuário User O usuário.
credencial PhoneAuthCredential Uma credencial para autenticar o novo número de telefone.

Retorna:

Promise<void>

Exemplo

// 'recaptcha-container' is the ID of an element in the DOM.
const applicationVerifier = new RecaptchaVerifier('recaptcha-container');
const provider = new PhoneAuthProvider(auth);
const verificationId = await provider.verifyPhoneNumber('+16505550101', applicationVerifier);
// Obtain the verificationCode from the user.
const phoneCredential = PhoneAuthProvider.credential(verificationId, verificationCode);
await updatePhoneNumber(user, phoneCredential);

updateProfile(user, { displayName, photoURL: photoUrl })

Atualiza os dados do perfil de um usuário.

Signature:

export declare function updateProfile(user: User, { displayName, photoURL: photoUrl }: {
    displayName?: string | null;
    photoURL?: string | null;
}): Promise<void>;

Parâmetros

Parâmetro Tipo Descrição
usuário User O usuário.
{ displayName, photoURL: photoUrl } { displayName?: string | null; photoURL?: string | null; }

Retorna:

Promise<void>

verifyBeforeUpdateEmail(user, newEmail, actionCodeSettings)

Envia um e-mail de verificação para um novo endereço de e-mail.

O e-mail do usuário vai ser atualizado com o novo após a verificação.

Se você tem um gerenciador personalizado de ações de e-mail, é possível concluir o processo de verificação chamando applyActionCode().

Signature:

export declare function verifyBeforeUpdateEmail(user: User, newEmail: string, actionCodeSettings?: ActionCodeSettings | null): Promise<void>;

Parâmetros

Parâmetro Tipo Descrição
usuário User O usuário.
newEmail string O novo endereço de e-mail que será verificado antes da atualização.
actionCodeSettings ActionCodeSettings | nulo O ActionCodeSettings.

Retorna:

Promise<void>

Exemplo

const actionCodeSettings = {
  url: 'https://www.example.com/?email=user@example.com',
  iOS: {
     bundleId: 'com.example.ios'
  },
  android: {
    packageName: 'com.example.android',
    installApp: true,
    minimumVersion: '12'
  },
  handleCodeInApp: true
};
await verifyBeforeUpdateEmail(user, 'newemail@example.com', actionCodeSettings);
// Obtain code from the user.
await applyActionCode(auth, code);

função(userCredential, ...)

getAdditionalUserInfo(userCredential)

Extrai AdditionalUserInfo específico do provedor para a credencial fornecida.

Signature:

export declare function getAdditionalUserInfo(userCredential: UserCredential): AdditionalUserInfo | null;

Parâmetros

Parâmetro Tipo Descrição
userCredential UserCredential A credencial do usuário.

Retorna:

AdditionalUserInfo | nulo

ActionCodeOperation

Uma enumeração dos possíveis tipos de ação de e-mail.

Signature:

ActionCodeOperation: {
    readonly EMAIL_SIGNIN: "EMAIL_SIGNIN";
    readonly PASSWORD_RESET: "PASSWORD_RESET";
    readonly RECOVER_EMAIL: "RECOVER_EMAIL";
    readonly REVERT_SECOND_FACTOR_ADDITION: "REVERT_SECOND_FACTOR_ADDITION";
    readonly VERIFY_AND_CHANGE_EMAIL: "VERIFY_AND_CHANGE_EMAIL";
    readonly VERIFY_EMAIL: "VERIFY_EMAIL";
}

AuthErrorCodes

Um mapa dos possíveis códigos de erro Auth, para facilitar a comparação com os erros gerados pelo SDK.

Não é possível usar tree shake em chaves individuais no mapa. Portanto, ao usar o mapa, você pode aumentar substancialmente o tamanho do seu pacote.

Signature:

AUTH_ERROR_CODES_MAP_DO_NOT_USE_INTERNALLY: {
    readonly ADMIN_ONLY_OPERATION: "auth/admin-restricted-operation";
    readonly ARGUMENT_ERROR: "auth/argument-error";
    readonly APP_NOT_AUTHORIZED: "auth/app-not-authorized";
    readonly APP_NOT_INSTALLED: "auth/app-not-installed";
    readonly CAPTCHA_CHECK_FAILED: "auth/captcha-check-failed";
    readonly CODE_EXPIRED: "auth/code-expired";
    readonly CORDOVA_NOT_READY: "auth/cordova-not-ready";
    readonly CORS_UNSUPPORTED: "auth/cors-unsupported";
    readonly CREDENTIAL_ALREADY_IN_USE: "auth/credential-already-in-use";
    readonly CREDENTIAL_MISMATCH: "auth/custom-token-mismatch";
    readonly CREDENTIAL_TOO_OLD_LOGIN_AGAIN: "auth/requires-recent-login";
    readonly DEPENDENT_SDK_INIT_BEFORE_AUTH: "auth/dependent-sdk-initialized-before-auth";
    readonly DYNAMIC_LINK_NOT_ACTIVATED: "auth/dynamic-link-not-activated";
    readonly EMAIL_CHANGE_NEEDS_VERIFICATION: "auth/email-change-needs-verification";
    readonly EMAIL_EXISTS: "auth/email-already-in-use";
    readonly EMULATOR_CONFIG_FAILED: "auth/emulator-config-failed";
    readonly EXPIRED_OOB_CODE: "auth/expired-action-code";
    readonly EXPIRED_POPUP_REQUEST: "auth/cancelled-popup-request";
    readonly INTERNAL_ERROR: "auth/internal-error";
    readonly INVALID_API_KEY: "auth/invalid-api-key";
    readonly INVALID_APP_CREDENTIAL: "auth/invalid-app-credential";
    readonly INVALID_APP_ID: "auth/invalid-app-id";
    readonly INVALID_AUTH: "auth/invalid-user-token";
    readonly INVALID_AUTH_EVENT: "auth/invalid-auth-event";
    readonly INVALID_CERT_HASH: "auth/invalid-cert-hash";
    readonly INVALID_CODE: "auth/invalid-verification-code";
    readonly INVALID_CONTINUE_URI: "auth/invalid-continue-uri";
    readonly INVALID_CORDOVA_CONFIGURATION: "auth/invalid-cordova-configuration";
    readonly INVALID_CUSTOM_TOKEN: "auth/invalid-custom-token";
    readonly INVALID_DYNAMIC_LINK_DOMAIN: "auth/invalid-dynamic-link-domain";
    readonly INVALID_EMAIL: "auth/invalid-email";
    readonly INVALID_EMULATOR_SCHEME: "auth/invalid-emulator-scheme";
    readonly INVALID_IDP_RESPONSE: "auth/invalid-credential";
    readonly INVALID_LOGIN_CREDENTIALS: "auth/invalid-credential";
    readonly INVALID_MESSAGE_PAYLOAD: "auth/invalid-message-payload";
    readonly INVALID_MFA_SESSION: "auth/invalid-multi-factor-session";
    readonly INVALID_OAUTH_CLIENT_ID: "auth/invalid-oauth-client-id";
    readonly INVALID_OAUTH_PROVIDER: "auth/invalid-oauth-provider";
    readonly INVALID_OOB_CODE: "auth/invalid-action-code";
    readonly INVALID_ORIGIN: "auth/unauthorized-domain";
    readonly INVALID_PASSWORD: "auth/wrong-password";
    readonly INVALID_PERSISTENCE: "auth/invalid-persistence-type";
    readonly INVALID_PHONE_NUMBER: "auth/invalid-phone-number";
    readonly INVALID_PROVIDER_ID: "auth/invalid-provider-id";
    readonly INVALID_RECIPIENT_EMAIL: "auth/invalid-recipient-email";
    readonly INVALID_SENDER: "auth/invalid-sender";
    readonly INVALID_SESSION_INFO: "auth/invalid-verification-id";
    readonly INVALID_TENANT_ID: "auth/invalid-tenant-id";
    readonly MFA_INFO_NOT_FOUND: "auth/multi-factor-info-not-found";
    readonly MFA_REQUIRED: "auth/multi-factor-auth-required";
    readonly MISSING_ANDROID_PACKAGE_NAME: "auth/missing-android-pkg-name";
    readonly MISSING_APP_CREDENTIAL: "auth/missing-app-credential";
    readonly MISSING_AUTH_DOMAIN: "auth/auth-domain-config-required";
    readonly MISSING_CODE: "auth/missing-verification-code";
    readonly MISSING_CONTINUE_URI: "auth/missing-continue-uri";
    readonly MISSING_IFRAME_START: "auth/missing-iframe-start";
    readonly MISSING_IOS_BUNDLE_ID: "auth/missing-ios-bundle-id";
    readonly MISSING_OR_INVALID_NONCE: "auth/missing-or-invalid-nonce";
    readonly MISSING_MFA_INFO: "auth/missing-multi-factor-info";
    readonly MISSING_MFA_SESSION: "auth/missing-multi-factor-session";
    readonly MISSING_PHONE_NUMBER: "auth/missing-phone-number";
    readonly MISSING_SESSION_INFO: "auth/missing-verification-id";
    readonly MODULE_DESTROYED: "auth/app-deleted";
    readonly NEED_CONFIRMATION: "auth/account-exists-with-different-credential";
    readonly NETWORK_REQUEST_FAILED: "auth/network-request-failed";
    readonly NULL_USER: "auth/null-user";
    readonly NO_AUTH_EVENT: "auth/no-auth-event";
    readonly NO_SUCH_PROVIDER: "auth/no-such-provider";
    readonly OPERATION_NOT_ALLOWED: "auth/operation-not-allowed";
    readonly OPERATION_NOT_SUPPORTED: "auth/operation-not-supported-in-this-environment";
    readonly POPUP_BLOCKED: "auth/popup-blocked";
    readonly POPUP_CLOSED_BY_USER: "auth/popup-closed-by-user";
    readonly PROVIDER_ALREADY_LINKED: "auth/provider-already-linked";
    readonly QUOTA_EXCEEDED: "auth/quota-exceeded";
    readonly REDIRECT_CANCELLED_BY_USER: "auth/redirect-cancelled-by-user";
    readonly REDIRECT_OPERATION_PENDING: "auth/redirect-operation-pending";
    readonly REJECTED_CREDENTIAL: "auth/rejected-credential";
    readonly SECOND_FACTOR_ALREADY_ENROLLED: "auth/second-factor-already-in-use";
    readonly SECOND_FACTOR_LIMIT_EXCEEDED: "auth/maximum-second-factor-count-exceeded";
    readonly TENANT_ID_MISMATCH: "auth/tenant-id-mismatch";
    readonly TIMEOUT: "auth/timeout";
    readonly TOKEN_EXPIRED: "auth/user-token-expired";
    readonly TOO_MANY_ATTEMPTS_TRY_LATER: "auth/too-many-requests";
    readonly UNAUTHORIZED_DOMAIN: "auth/unauthorized-continue-uri";
    readonly UNSUPPORTED_FIRST_FACTOR: "auth/unsupported-first-factor";
    readonly UNSUPPORTED_PERSISTENCE: "auth/unsupported-persistence-type";
    readonly UNSUPPORTED_TENANT_OPERATION: "auth/unsupported-tenant-operation";
    readonly UNVERIFIED_EMAIL: "auth/unverified-email";
    readonly USER_CANCELLED: "auth/user-cancelled";
    readonly USER_DELETED: "auth/user-not-found";
    readonly USER_DISABLED: "auth/user-disabled";
    readonly USER_MISMATCH: "auth/user-mismatch";
    readonly USER_SIGNED_OUT: "auth/user-signed-out";
    readonly WEAK_PASSWORD: "auth/weak-password";
    readonly WEB_STORAGE_UNSUPPORTED: "auth/web-storage-unsupported";
    readonly ALREADY_INITIALIZED: "auth/already-initialized";
    readonly RECAPTCHA_NOT_ENABLED: "auth/recaptcha-not-enabled";
    readonly MISSING_RECAPTCHA_TOKEN: "auth/missing-recaptcha-token";
    readonly INVALID_RECAPTCHA_TOKEN: "auth/invalid-recaptcha-token";
    readonly INVALID_RECAPTCHA_ACTION: "auth/invalid-recaptcha-action";
    readonly MISSING_CLIENT_TYPE: "auth/missing-client-type";
    readonly MISSING_RECAPTCHA_VERSION: "auth/missing-recaptcha-version";
    readonly INVALID_RECAPTCHA_VERSION: "auth/invalid-recaptcha-version";
    readonly INVALID_REQ_TYPE: "auth/invalid-req-type";
}

browserLocalPersistence

Uma implementação de Persistência do tipo LOCAL usando localStorage para o armazenamento.

Signature:

browserLocalPersistence: Persistence

browserPopupRedirectResolver

Uma implementação de PopupRedirectResolver adequada para aplicativos baseados em navegador.

Este método não funciona em um ambiente Node.js.

Signature:

browserPopupRedirectResolver: PopupRedirectResolver

browserSessionPersistence

Uma implementação de Persistência de SESSION usando sessionStorage para o armazenamento.

Signature:

browserSessionPersistence: Persistence

cordovaPopupRedirectResolver

Uma implementação de PopupRedirectResolver adequada para aplicativos baseados no Cordova.

Signature:

cordovaPopupRedirectResolver: PopupRedirectResolver

debugErrorMap

Um mapa detalhado de erros com descrições detalhadas da maioria dos códigos de erro.

Veja a discussão em AuthErrorMap

Signature:

debugErrorMap: AuthErrorMap

FactorId

Uma enumeração de fatores que podem ser usados para a autenticação multifator.

Signature:

FactorId: {
    readonly PHONE: "phone";
    readonly TOTP: "totp";
}

indexedDBLocalPersistence

Uma implementação de Persistência do tipo LOCAL usando indexedDB para o armazenamento.

Signature:

indexedDBLocalPersistence: Persistence

inMemoryPersistence

Uma implementação de Persistência do tipo "NONE".

Signature:

inMemoryPersistence: Persistence

OperationType

Enumeração de tipos de operação com suporte.

Signature:

OperationType: {
    readonly LINK: "link";
    readonly REAUTHENTICATE: "reauthenticate";
    readonly SIGN_IN: "signIn";
}

prodErrorMap

Um mapa de erros mínimo com todas as mensagens de erro detalhadas removidas.

Veja a discussão em AuthErrorMap

Signature:

prodErrorMap: AuthErrorMap

ProviderId

Enumeração de provedores compatíveis.

Signature:

ProviderId: {
    readonly FACEBOOK: "facebook.com";
    readonly GITHUB: "github.com";
    readonly GOOGLE: "google.com";
    readonly PASSWORD: "password";
    readonly PHONE: "phone";
    readonly TWITTER: "twitter.com";
}

SignInMethod

Enumeração de métodos de login compatíveis.

Signature:

SignInMethod: {
    readonly EMAIL_LINK: "emailLink";
    readonly EMAIL_PASSWORD: "password";
    readonly FACEBOOK: "facebook.com";
    readonly GITHUB: "github.com";
    readonly GOOGLE: "google.com";
    readonly PHONE: "phone";
    readonly TWITTER: "twitter.com";
}

CustomParameters

Mapa dos parâmetros personalizados do OAuth.

Signature:

export declare type CustomParameters = Record<string, string>;

NextOrObserver

Definição de tipo para um callback de evento.

Signature:

export declare type NextOrObserver<T> = NextFn<T | null> | Observer<T | null>;

PhoneInfoOptions

As informações necessárias para verificar a propriedade de um número de telefone.

As informações necessárias dependem do login usado por um único fator, um registro de vários fatores ou um login de vários fatores.

Signature:

export declare type PhoneInfoOptions = PhoneSingleFactorInfoOptions | PhoneMultiFactorEnrollInfoOptions | PhoneMultiFactorSignInInfoOptions;

UserProfile

Perfil de usuário usado em AdditionalUserInfo.

Signature:

export declare type UserProfile = Record<string, unknown>;