Firebase Authentication
Funções
Função | Descrição |
---|---|
função(app, ...) | |
getAuth(app) (em inglês) | 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, ...) | |
getReactNativePersistent(storage) (em inglês) | 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 fornecido. Esse método retorna uma lista vazia quando a Proteção contra enumeração de e-mails está ativada, independentemente do número de métodos de autenticação disponíveis para o e-mail especificado. |
getMultiFactorResolver(auth, error) | Fornece um MultiFactorResolver adequado para a conclusão de um fluxo de vários fatores. |
getRedirectResult(auth, resolvedor) | 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, complete) | 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 fornecido e a Proteção contra enumeração de e-mails está ativada. |
sendSignInLinkToEmail(auth, email, actionCodeSettings) | Envia um link de e-mail de login para o usuário com o e-mail especificado. |
setPersistent(auth, persistência) | 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, credentials) | 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. |
signInWithTitle(auth, phoneNumber, appVerifier) | Faz login de maneira assíncrona usando um número de telefone. |
signInWithPopup(auth, provedor, resolvedor) | Autentica um cliente do Firebase usando um fluxo de autenticação OAuth baseado em pop-up. |
signInWithRedirect(auth, provedor, resolvedor) | 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(usuário, credencial) | Vincula a conta do usuário às credenciais fornecidas. |
linkWithTitle(user, phoneNumber, appVerifier) | Vincula a conta do usuário ao número de telefone fornecido. |
linkWithPopup(user, provedor, resolvedor) | Vincula o provedor autenticado à conta de usuário usando um fluxo de OAuth baseado em pop-up. |
linkWithRedirect(usuário, provedor, resolvedor) | 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(usuário, credencial) | Reautentica um usuário com uma nova credencial. |
reauthenticateWithPhoneNumber(user, phoneNumber, appVerifier) | Reautentica um usuário com uma nova credencial de telefone. |
reauthenticateWithPopup(usuário, provedor, resolvedor) | Reautentica o usuário atual com o OAuthProvider especificado usando um fluxo de OAuth baseado em pop-up. |
reauthenticateWithRedirect(usuário, provedor, resolvedor) | 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(usuário, credencial) | 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) (em inglês) | Extrai AdditionalUserInfo específico do provedor para a credencial fornecida. |
Aulas
Turma | Descrição |
---|---|
ActionCodeURL (link em inglês) | 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 (link em inglês) | Interface que representa as credenciais retornadas por EmailAuthProvider para ProviderId.PASSWORD |
EmailAuthProvider (link em inglês) | Provedor para gerar EmailAuthCredential. |
FacebookAuthProvider (em inglês) | Provedor para gerar uma OAuthCredential para ProviderId.FACEBOOK. |
GitHubAuthProvider (link em inglês) | Provedor para gerar um OAuthCredential para ProviderId.GITHUB. |
GoogleAuthProvider (link em inglês) | 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 (em inglês) | Representa as credenciais retornadas por PhoneAuthProvider. |
PhoneAuthProvider (em inglês) | Provedor para gerar uma PhoneAuthCredential. |
PhoneMultiFactorGenerator | Provedor para gerar um PhoneMultiFactorAssertion. |
RecaptchaVerifier (link em inglês) | Um verificador de aplicativo com base em reCAPTCHA. |
SAMLAuthProvider (em inglês) | Um AuthProvider para SAML. |
TotpMultiFactorGenerator (link em inglês) | Provedor para gerar um TotpMultiFactorAssertion. |
TotpSecret (link em inglês) | 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 (em inglês) | Provedor para gerar uma OAuthCredential para ProviderId.TWITTER. |
Interfaces
Interface | Descrição |
---|---|
ActionCodeInfo (link em inglês) | 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 (link em inglês) | 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 (em inglês) | Um mapeamento de códigos de erro para mensagens de erro. |
AuthProvider (em inglês) | Interface que representa um provedor de autenticação, usada para facilitar a criação de AuthCredential. |
AuthSettings (em inglês) | Interface que representa as configurações de uma instância Auth. |
Configuração | Interface que representa a configuração Auth . |
ConfirmationResult (link em inglês) | 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 (em inglês) | Configuração do emulador do Firebase Authentication. |
IdTokenResult (link em inglês) | Interface que representa o resultado do token de ID conseguido de User.getIdTokenResult(). |
MultiFactorAssertion (em inglês) | A classe de base para declarar a propriedade de um segundo fator. |
MultiFactorError (link em inglês) | O erro gerado quando o usuário precisa informar um segundo fator para fazer login. |
MultiFactorInfo (link em inglês) | Estrutura contendo as informações de uma entidade de segundo fator. |
MultiFactorResolver (link em inglês) | A classe usada para facilitar a recuperação do MultiFactorError quando um usuário precisa fornecer um segundo fator para fazer login. |
MultiFactorSession (link em inglês) | 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 (em inglês) | 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 (em inglês) | 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 (em inglês) | Classe para declarar a propriedade de um segundo fator do smartphone. Fornecido por PhoneMultiFactorGenerator.assertion(). |
PhoneMultiFactorRegisterInfoOptions (em inglês) | Opções usadas para registrar um segundo fator. |
PhoneMultiFactorInfo (link em inglês) | A subclasse da interface MultiFactorInfo para segundos fatores de número de telefone. O factorId do segundo fator é FactorId.PHONE. |
PhoneMultiFactorSignInInfoOptions (em inglês) | Opções usadas para fazer login com um segundo fator. |
PhoneSingleFactorInfoOptions (em inglês) | 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 (em inglês) | Interface para um AsyncStorage fornecido. |
RecaptchaParameters (link em inglês) | Interface que representa parâmetros reCAPTCHA.Consulte os documentos sobre reCAPTCHA para ver a lista de parâmetros aceitos. 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 (link em inglês) | Classe para declarar a propriedade de um segundo fator do TOTP. Fornecido por TotpMultiFactorGenerator.assertionForEnrollment() e TotpMultiFactorGenerator.assertionForSignIn(). |
TotpMultiFactorInfo (link em inglês) | 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 (link em inglês) | Uma estrutura com um User, o OperationType e o ID do provedor. |
Informações do usuário | Informações do perfil do usuário, visíveis apenas para os apps do projeto do Firebase. |
UserMetadata (link em inglês) | Interface que representa os metadados de um usuário. |
Variáveis
Variável | Descrição |
---|---|
ActionCodeOperation (link em inglês) | Uma enumeração dos possíveis tipos de ação de e-mail. |
AuthErrorCodes (link em inglês) | Um mapa dos possíveis códigos de erro Auth , para facilitar a comparação com os erros gerados pelo SDK. |
browserLocalPersistent (link em inglês) | Uma implementação de Persistência do tipo LOCAL usando localStorage para o armazenamento. |
browserPopupRedirectResolver (em inglês) | Uma implementação de PopupRedirectResolver adequada para aplicativos baseados em navegador. |
browserSessionSession (link em inglês) | Uma implementação de Persistência de SESSION usando sessionStorage para o armazenamento. |
cordovaPopupRedirectResolver (link em inglês) | Uma implementação de PopupRedirectResolver adequada para aplicativos baseados no Cordova. |
debugErrorMap (link em inglês) | Um mapa detalhado de erros com descrições detalhadas da maioria dos códigos de erro.Consulte a discussão em AuthErrorMap |
FactorId (link em inglês) | Uma enumeração de fatores que podem ser usados para a autenticação multifator. |
indexedDBLocalPersistent (em inglês) | Uma implementação de Persistência do tipo LOCAL usando indexedDB para o armazenamento. |
inMemoryPersistent (link em inglês) | Uma implementação de Persistência do tipo "NONE". |
OperationType (em inglês) | Enumeração de tipos de operação com suporte. |
prodErrorMap (link em inglês) | Um mapa de erros mínimo com todas as mensagens de erro detalhadas removidas.Consulte a discussão em AuthErrorMap |
ProviderId (link em inglês) | Enumeração de provedores compatíveis. |
SignInMethod (em inglês) | Enumeração de métodos de login compatíveis. |
Aliases de tipos
Tipo de alias | Descrição |
---|---|
CustomParâmetros | Mapa dos parâmetros personalizados do OAuth. |
NextOrObserver (link em inglês) | Definição de tipo para um callback de evento. |
PhoneInfoOptions (em inglês) | 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.
Assinatura:
export declare function getAuth(app?: FirebaseApp): Auth;
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
app | FirebaseApp (link em inglês) | O app do Firebase. |
Retorna:
startupAuth(app, dependências)
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,
});
Assinatura:
export declare function initializeAuth(app: FirebaseApp, deps?: Dependencies): Auth;
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
app | FirebaseApp (link em inglês) | |
deps | Dependências |
Retorna:
função(armazenamento, ...)
getReactNativePersistent(armazenamento)
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().
Assinatura:
export declare function getReactNativePersistence(storage: ReactNativeAsyncStorage): Persistence;
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
storage | ReactNativeAsyncStorage (em inglês) |
Retorna:
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.
Assinatura:
export declare function applyActionCode(auth: Auth, oobCode: string): Promise<void>;
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
auth | Autenticação | A instância Auth. |
oobCode | string | Um código de verificação enviado ao usuário. |
Retorna:
Promessa<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.
Assinatura:
export declare function beforeAuthStateChanged(auth: Auth, callback: (user: User | null) => void | Promise<void>, onAbort?: () => void): Unsubscribe;
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
auth | Autenticação | A instância Auth. |
callback | (usuário: Usuário | nulo) => 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:
checkActionCode(auth, oobCode)
Verifica um código de verificação enviado ao usuário por e-mail ou outro mecanismo fora de banda.
Assinatura:
export declare function checkActionCode(auth: Auth, oobCode: string): Promise<ActionCodeInfo>;
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
auth | Autenticação | A instância Auth. |
oobCode | string | Um código de verificação enviado ao usuário. |
Retorna:
Prometer<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.
Assinatura:
export declare function confirmPasswordReset(auth: Auth, oobCode: string, newPassword: string): Promise<void>;
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
auth | Autenticação | A instância Auth. |
oobCode | string | Um código de confirmação enviado ao usuário. |
newPassword | string | A nova senha. |
Retorna:
Promessa<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.
Assinatura:
export declare function connectAuthEmulator(auth: Auth, url: string, options?: {
disableWarnings: boolean;
}): void;
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
auth | 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: booleano; } | 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; e-mail; senha)
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.
Assinatura:
export declare function createUserWithEmailAndPassword(auth: Auth, email: string, password: string): Promise<UserCredential>;
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
auth | Autenticação | A instância Auth. |
string | O endereço de e-mail do usuário. | |
senha | string | A senha escolhida pelo usuário. |
Retorna:
Promessa<UserCredential>
fetchSignInMethodsForEmail(autenticação, e-mail)
Extrai a lista de possíveis métodos de login para o endereço de e-mail fornecido. Esse método retorna uma lista vazia quando a Proteção contra enumeração de e-mails está ativada, independentemente do número de métodos de autenticação disponíveis para o e-mail especificado.
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.
Assinatura:
export declare function fetchSignInMethodsForEmail(auth: Auth, email: string): Promise<string[]>;
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
auth | Autenticação | A instância Auth. |
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 para a Proteção contra enumeração de e-mails. |
Retorna:
Promessa<string[]>
getMultiFactorResolver(auth, error)
Fornece um MultiFactorResolver adequado para a conclusão de um fluxo de vários fatores.
Assinatura:
export declare function getMultiFactorResolver(auth: Auth, error: MultiFactorError): MultiFactorResolver;
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
auth | Autenticação | A instância Auth. |
error | MultiFactorError (link em inglês) | O MultiFactorError gerado durante uma operação de login ou de reautenticação. |
Retorna:
MultiFactorResolver (link em inglês)
getRedirectResult(auth, resolvedor)
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.
Assinatura:
export declare function getRedirectResult(auth: Auth, resolver?: PopupRedirectResolver): Promise<UserCredential | null>;
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
auth | Autenticação | A instância Auth. |
resolvedor | PopupRedirectResolver | Uma instância de PopupRedirectResolver, opcional se já fornecida para InitializeAuth() ou por getAuth(). |
Retorna:
Promessa<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;
launchRecaptchaConfig(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.
Assinatura:
export declare function initializeRecaptchaConfig(auth: Auth): Promise<void>;
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
auth | Autenticação | A instância Auth. |
Retorna:
Promessa<void>
Exemplo
initializeRecaptchaConfig(auth);
isSignInWithEmailLink(auth, emailLink)
Verifica se um link recebido é um link de login com e-mail adequado para signInWithEmailLink().
Assinatura:
export declare function isSignInWithEmailLink(auth: Auth, emailLink: string): boolean;
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
auth | Autenticação | A instância Auth. |
Link de e-mail | string | O link enviado para o endereço de e-mail do usuário. |
Retorna:
booleano
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().
Assinatura:
export declare function onAuthStateChanged(auth: Auth, nextOrObserver: NextOrObserver<User>, error?: ErrorFn, completed?: CompleteFn): Unsubscribe;
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
auth | Autenticação | A instância Auth. |
nextOrObserver | NextOrObserver<Usuário> | callback acionado na alteração. |
error | ErrorFn (link em inglês) | 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 (em inglês) | Obsoleto. Esse callback nunca é acionado. |
Retorna:
onIdTokenChanged(auth, nextOrObserver, error, concluído)
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.
Assinatura:
export declare function onIdTokenChanged(auth: Auth, nextOrObserver: NextOrObserver<User>, error?: ErrorFn, completed?: CompleteFn): Unsubscribe;
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
auth | Autenticação | A instância Auth. |
nextOrObserver | NextOrObserver<Usuário> | callback acionado na alteração. |
error | ErrorFn (link em inglês) | 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 (em inglês) | Obsoleto. Esse callback nunca é acionado. |
Retorna:
revogarAccessToken(auth, token)
Revoga o token de acesso fornecido. No momento, só oferece suporte aos tokens de acesso OAuth da Apple.
Assinatura:
export declare function revokeAccessToken(auth: Auth, token: string): Promise<void>;
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
auth | Autenticação | A instância Auth. |
token | string | O token de acesso OAuth da Apple. |
Retorna:
Promessa<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 fornecido e a Proteção contra enumeração de e-mails 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.
Assinatura:
export declare function sendPasswordResetEmail(auth: Auth, email: string, actionCodeSettings?: ActionCodeSettings): Promise<void>;
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
auth | Autenticação | A instância Auth. |
string | O endereço de e-mail do usuário. | |
actionCodeSettings | ActionCodeSettings. | O ActionCodeSettings. |
Retorna:
Promessa<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.
Assinatura:
export declare function sendSignInLinkToEmail(auth: Auth, email: string, actionCodeSettings: ActionCodeSettings): Promise<void>;
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
auth | Autenticação | |
string | O endereço de e-mail do usuário. | |
actionCodeSettings | ActionCodeSettings. | O ActionCodeSettings. |
Retorna:
Promessa<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);
}
setPersistência(autenticação, persistência)
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.
Assinatura:
export declare function setPersistence(auth: Auth, persistence: Persistence): Promise<void>;
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
auth | Autenticação | A instância Auth. |
persistência | Persistência | A Persistência a ser usada. |
Retorna:
Promessa<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.
Assinatura:
export declare function signInAnonymously(auth: Auth): Promise<UserCredential>;
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
auth | Autenticação | A instância Auth. |
Retorna:
Promessa<UserCredential>
signInWithCredential(autenticação, credencial)
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.
Assinatura:
export declare function signInWithCredential(auth: Auth, credential: AuthCredential): Promise<UserCredential>;
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
auth | Autenticação | A instância Auth. |
credencial | AuthCredential | A credencial de autenticação. |
Retorna:
Promessa<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.
Assinatura:
export declare function signInWithCustomToken(auth: Auth, customToken: string): Promise<UserCredential>;
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
auth | Autenticação | A instância Auth. |
Token personalizado | string | O token personalizado para fazer login. |
Retorna:
Promessa<UserCredential>
signInWithEmailAndPassword(auth; e-mail; senha)
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 está ativada, o método falha com "auth/invalid-credential" no caso de um e-mail/senha inválido.
Este método não é compatível com instâncias Auth criadas com um FirebaseServerApp.
Assinatura:
export declare function signInWithEmailAndPassword(auth: Auth, email: string, password: string): Promise<UserCredential>;
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
auth | Autenticação | A instância Auth. |
string | O endereço de e-mail dos usuários. | |
senha | string | A senha dos usuários. |
Retorna:
Promessa<UserCredential>
signInWithEmailLink(auth; email, emailLink)
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.
Assinatura:
export declare function signInWithEmailLink(auth: Auth, email: string, emailLink?: string): Promise<UserCredential>;
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
auth | Autenticação | A instância Auth. |
string | O endereço de e-mail do usuário. | |
Link de e-mail | string | O link enviado para o endereço de e-mail do usuário. |
Retorna:
Promessa<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);
}
signInWithTitle(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.
Assinatura:
export declare function signInWithPhoneNumber(auth: Auth, phoneNumber: string, appVerifier: ApplicationVerifier): Promise<ConfirmationResult>;
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
auth | Autenticação | A instância Auth. |
Número de telefone | string | O número de telefone do usuário no formato E.164 (por exemplo, +16505550101). |
AppVerifier | ApplicationVerifier | O ApplicationVerifier. |
Retorna:
Prometer<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, provedor, resolvedor)
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.
Assinatura:
export declare function signInWithPopup(auth: Auth, provider: AuthProvider, resolver?: PopupRedirectResolver): Promise<UserCredential>;
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
auth | Autenticação | A instância Auth. |
provedor | AuthProvider (em inglês) | 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<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, provedor, resolvedor)
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.
Assinatura:
export declare function signInWithRedirect(auth: Auth, provider: AuthProvider, resolver?: PopupRedirectResolver): Promise<never>;
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
auth | Autenticação | A instância Auth. |
provedor | AuthProvider (em inglês) | 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;
logOut(autenticação)
Desconecta o usuário atual.
Este método não é compatível com instâncias Auth criadas com um FirebaseServerApp.
Assinatura:
export declare function signOut(auth: Auth): Promise<void>;
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
auth | Autenticação | A instância Auth. |
Retorna:
Promessa<void>
updateCurrentUser(autenticação; usuário)
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.
Assinatura:
export declare function updateCurrentUser(auth: Auth, user: User | null): Promise<void>;
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
auth | Autenticação | A instância Auth. |
usuário | Usuário | nulo | O novo User. |
Retorna:
Promessa<void>
useDeviceLanguage(autenticação)
Define o idioma atual para a preferência padrão do dispositivo/navegador.
Assinatura:
export declare function useDeviceLanguage(auth: Auth): void;
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
auth | Autenticação | A instância Auth. |
Retorna:
void
validPassword(autenticação; senha)
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.
Assinatura:
export declare function validatePassword(auth: Auth, password: string): Promise<PasswordValidationStatus>;
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
auth | Autenticação | A instância Auth. |
senha | string | Senha a ser validada. |
Retorna:
Prometer<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.
Assinatura:
export declare function verifyPasswordResetCode(auth: Auth, code: string): Promise<string>;
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
auth | 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.
função(link, ...)
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.
Assinatura:
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(usuário)
Exclui e desconecta o usuário.
Assinatura:
export declare function deleteUser(user: User): Promise<void>;
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
usuário | User | O usuário. |
Retorna:
Promessa<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.
Assinatura:
export declare function getIdToken(user: User, forceRefresh?: boolean): Promise<string>;
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
usuário | User | O usuário. |
forceRefresh | booleano | 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.
Assinatura:
export declare function getIdTokenResult(user: User, forceRefresh?: boolean): Promise<IdTokenResult>;
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
usuário | User | O usuário. |
forceRefresh | booleano | Forçar a atualização, independentemente da expiração do token. |
Retorna:
Prometer<IdTokenResult>
linkWithCredential(usuário, credencial)
Vincula a conta do usuário às credenciais fornecidas.
Um AuthProvider pode ser usado para gerar a credencial.
Assinatura:
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:
Promessa<UserCredential>
linkWithTitle(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.
Assinatura:
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. |
Número de telefone | string | O número de telefone do usuário no formato E.164 (por exemplo, +16505550101). |
AppVerifier | ApplicationVerifier | O ApplicationVerifier. |
Retorna:
Prometer<ConfirmationResult>
linkWithPopup(usuário, provedor, resolvedor)
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.
Assinatura:
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. |
provedor | AuthProvider (em inglês) | 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<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(usuário, provedor, resolvedor)
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.
Assinatura:
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. |
provedor | AuthProvider (em inglês) | 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(usuário)
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.
Assinatura:
export declare function multiFactor(user: User): MultiFactorUser;
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
usuário | User | O usuário. |
Retorna:
MultiFactorUser (em inglês)
reauthenticateWithCredential(usuário, credencial)
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.
Assinatura:
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:
Promessa<UserCredential>
reauthenticateWithFirstName(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.
Assinatura:
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. |
Número de telefone | string | O número de telefone do usuário no formato E.164 (por exemplo, +16505550101). |
AppVerifier | ApplicationVerifier | O ApplicationVerifier. |
Retorna:
Prometer<ConfirmationResult>
reauthenticateWithPopup(usuário, provedor, resolvedor)
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.
Assinatura:
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. |
provedor | AuthProvider (em inglês) | 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<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(usuário, provedor, resolvedor)
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.
Assinatura:
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. |
provedor | AuthProvider (em inglês) | 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.
Assinatura:
export declare function reload(user: User): Promise<void>;
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
usuário | User | O usuário. |
Retorna:
Promessa<void>
sendEmailVerificação(user, actionCodeSettings)
Envia um e-mail de verificação ao usuário.
Para concluir o processo de verificação, chame applyActionCode().
Assinatura:
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:
Promessa<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);
desvincular(usuário, provedorId)
Desvincula um provedor de uma conta de usuário.
Assinatura:
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(usuário, 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.
Assinatura:
export declare function updateEmail(user: User, newEmail: string): Promise<void>;
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
usuário | User | O usuário. |
novoE-mail | string | O novo endereço de e-mail.O erro "auth/operation-not-allowed" é exibido quando a Proteção contra enumeração de e-mails está ativada. Obsoleto: use verifyBeforeUpdateEmail(). |
Retorna:
Promessa<void>
updatePassword(usuário, newPassword)
Atualiza a senha do usuário.
Assinatura:
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:
Promessa<void>
updatePhoneNumber(usuário, credencial)
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.
Assinatura:
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 (em inglês) | Uma credencial para autenticar o novo número de telefone. |
Retorna:
Promessa<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.
Assinatura:
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:
Promessa<void>
VerifyBeforeUpdateEmail(usuário, 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().
Assinatura:
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. |
novoE-mail | string | O novo endereço de e-mail que será verificado antes da atualização. |
actionCodeSettings | ActionCodeSettings | nulo | O ActionCodeSettings. |
Retorna:
Promessa<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.
Assinatura:
export declare function getAdditionalUserInfo(userCredential: UserCredential): AdditionalUserInfo | null;
Parâmetros
Parâmetro | Tipo | Descrição |
---|---|---|
UserCredential | UserCredential (link em inglês) | A credencial do usuário. |
Retorna:
AdditionalUserInfo | nulo
ActionCodeOperation
Uma enumeração dos possíveis tipos de ação de e-mail.
Assinatura:
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.
Assinatura:
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";
}
browserLocalPersistência
Uma implementação de Persistência do tipo LOCAL
usando localStorage
para o armazenamento.
Assinatura:
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.
Assinatura:
browserPopupRedirectResolver: PopupRedirectResolver
browserSessionSession
Uma implementação de Persistência de SESSION
usando sessionStorage
para o armazenamento.
Assinatura:
browserSessionPersistence: Persistence
cordovaPopupRedirectResolver
Uma implementação de PopupRedirectResolver adequada para aplicativos baseados no Cordova.
Assinatura:
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
Assinatura:
debugErrorMap: AuthErrorMap
ID de fator
Uma enumeração de fatores que podem ser usados para a autenticação multifator.
Assinatura:
FactorId: {
readonly PHONE: "phone";
readonly TOTP: "totp";
}
formattedDBLocalpersistência
Uma implementação de Persistência do tipo LOCAL
usando indexedDB
para o armazenamento.
Assinatura:
indexedDBLocalPersistence: Persistence
Persistência inMemory
Uma implementação de Persistência do tipo "NONE".
Assinatura:
inMemoryPersistence: Persistence
OperationType
Enumeração de tipos de operação com suporte.
Assinatura:
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
Assinatura:
prodErrorMap: AuthErrorMap
ID do provedor
Enumeração de provedores compatíveis.
Assinatura:
ProviderId: {
readonly FACEBOOK: "facebook.com";
readonly GITHUB: "github.com";
readonly GOOGLE: "google.com";
readonly PASSWORD: "password";
readonly PHONE: "phone";
readonly TWITTER: "twitter.com";
}
Método de login
Enumeração de métodos de login compatíveis.
Assinatura:
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";
}
Parâmetros personalizados
Mapa dos parâmetros personalizados do OAuth.
Assinatura:
export declare type CustomParameters = Record<string, string>;
NextOrObserver
Definição de tipo para um callback de evento.
Assinatura:
export declare type NextOrObserver<T> = NextFn<T | null> | Observer<T | null>;
Opções de informações do telefone
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.
Assinatura:
export declare type PhoneInfoOptions = PhoneSingleFactorInfoOptions | PhoneMultiFactorEnrollInfoOptions | PhoneMultiFactorSignInInfoOptions;
UserProfile
Perfil de usuário usado em AdditionalUserInfo.
Assinatura:
export declare type UserProfile = Record<string, unknown>;