Solucionar erros de autenticação de plataformas da Apple no Firebase
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Se a chamada de retorno de conclusão nos métodos do Authentication recebeu um argumento NSError
que não é nulo, ocorreu um erro. Para enviar esse erro para a lógica correta de solução no seu código de produção, compare seu código aos erros comuns e específicos do método listados a seguir.
Alguns erros podem ser resolvidos por ações específicas do usuário. Por exemplo, FIRAuthErrorCodeUserTokenExpired pode ser resolvido fazendo login novamente e FIRAuthErrorCodeWrongPassword solicitando que ele forneça a senha correta.
Exceto no caso de FIRAuthErrorCodeNetworkError ou FIRAuthErrorCodeTooManyRequests, repetir uma operação com falha com os mesmos argumentos nunca será bem-sucedido. Não suponha que a operação funcionou do lado do servidor.
Ao investigar ou registrar erros, revise o dicionário userInfo.
FIRAuthErrorNameKey contém uma string de nome de erro entre plataformas que pode ser usada para identificar o erro.
NSLocalizedDescriptionKey contém uma descrição do erro. Ela é voltada para o desenvolvedor e não para o usuário.
NSUnderlyingErrorKey contém o erro subjacente que causou o erro em questão, se houver um erro subjacente.
Além dos campos principais listados acima, pode haver outros campos no dicionário userInfo que podem ser úteis ao diagnosticar erros.
Códigos de erro comuns a todos os métodos de API
Código
Significado
FIRAuthErrorCodeNetworkError
Indica que ocorreu um erro na rede durante a operação.
FIRAuthErrorCodeUserNotFound
Indica que a conta de usuário não foi encontrada. Pode ocorrer se a conta de usuário foi excluída.
FIRAuthErrorCodeUserTokenExpired
Indica que o token atual do usuário expirou porque, por exemplo, ele alterou a senha da conta em outro dispositivo. Solicite novo login neste dispositivo.
FIRAuthErrorCodeTooManyRequests
Indica que a solicitação foi bloqueada após o dispositivo autor da chamada fazer um número anormal de solicitações aos servidores do Firebase Authentication. Tente novamente mais tarde.
FIRAuthErrorCodeInvalidAPIKey
Indica que o app foi configurado com uma chave de API inválida.
FIRAuthErrorCodeAppNotAuthorized
Indica que o app não tem autorização para usar o Firebase Authentication com a chave de API fornecida. Acesse o Console de APIs do Google e, na guia de credenciais, verifique se o código do pacote do seu app está na lista de permissões da chave de API que você está usando.
FIRAuthErrorCodeKeychainError
Indica que ocorreu um erro de acesso do conjunto de chaves. Os campos NSLocalizedFailureReasonErrorKey e NSUnderlyingErrorKey no dicionário NSError.userInfo conterão mais informações sobre o erro encontrado.
FIRAuthErrorCodeInternalError
Indica que ocorreu um erro interno. Informe o erro com todo o objeto NSError.
Códigos de erro específicos do método
FIRAuth
fetchProvidersForEmail:completion:
Código
Significado
FIRAuthErrorCodeInvalidEmail
Indica que o endereço de e-mail informado está incorreto.
signInWithEmail:password:completion:
Código
Significado
FIRAuthErrorCodeOperationNotAllowed
Indica que as contas de e-mail e senha não estão ativadas. Ative-as na seção "Autenticação" do console do Firebase.
FIRAuthErrorCodeInvalidEmail
Indica que o endereço de e-mail informado está incorreto.
FIRAuthErrorCodeUserDisabled
Indica que a conta do usuário está desativada.
FIRAuthErrorCodeWrongPassword
Indica que o usuário tentou fazer login com uma senha incorreta.
signInWithCredential:completion:
Código
Significado
FIRAuthErrorCodeInvalidCredential
Indica que a credencial informada é inválida. Isso pode acontecer se a credencial estiver expirada ou incorreta.
FIRAuthErrorCodeInvalidEmail
Indica que o endereço de e-mail está incorreto, se a credencial for do tipo EmailPasswordAuthCredential.
FIRAuthErrorCodeOperationNotAllowed
Indica que contas com o provedor de identidade representado pela credencial não estão ativadas. Ative-as na seção "Autenticação" do console do Firebase.
FIRAuthErrorCodeEmailAlreadyInUse
Indica que o e-mail informado pela credencial como, por exemplo, o de um token de acesso do Facebook, já está em uso por uma conta existente que não pode ser autenticada com esse método de login. Chame fetchProvidersForEmail para receber o e-mail desse usuário e solicite que ele faça login com qualquer um dos provedores de login retornados. Esse erro é gerado somente quando a configuração "Uma conta por endereço de e-mail" está ativada no console do Firebase, nas configurações de Authentication.
FIRAuthErrorCodeUserDisabled
Indica que a conta do usuário está desativada.
FIRAuthErrorCodeWrongPassword
Indica que o usuário tentou fazer login com uma senha errada, se a credencial for do tipo EmailPasswordAuthCredential.
signInAnonymouslyWithCompletion:
Código
Significado
FIRAuthErrorCodeOperationNotAllowed
Indica que as contas anônimas não estão ativadas. Ative-as na seção "Autenticação" do console do Firebase.
signInWithCustomToken:completion:
Código
Significado
FIRAuthErrorCodeInvalidCustomToken
Indica um erro de validação com o token personalizado.
FIRAuthErrorCodeCustomTokenMismatch
Indica que a conta de serviço e a chave de API pertencem a diferentes projetos.
createUserWithEmail:password:completion:
Código
Significado
FIRAuthErrorCodeInvalidEmail
Indica que o endereço de e-mail informado está incorreto.
FIRAuthErrorCodeEmailAlreadyInUse
Indica que o e-mail usado para inscrição já existe. Chame fetchProvidersForEmail para verificar quais mecanismos de login esse usuário usou e solicite que ele faça login com um deles.
FIRAuthErrorCodeOperationNotAllowed
Indica que as contas de e-mail e senha não estão ativadas. Ative-as na seção Authentication do console do Firebase.
FIRAuthErrorCodeWeakPassword
Indica uma tentativa de definição de uma senha considerada muito fraca. O campo NSLocalizedFailureReasonErrorKey no objeto de dicionário NSError.userInfo conterá uma explicação mais detalhada que pode ser exibida ao usuário.
signOut:
Código
Significado
FIRAuthErrorCodeKeychainError
Indica que ocorreu um erro de acesso do conjunto de chaves. Os campos NSLocalizedFailureReasonErrorKey e NSUnderlyingErrorKey no dicionário NSError.userInfo conterão mais informações sobre o erro encontrado.
FIRUser
Erros comuns das operações FIRUser
Código
Significado
FIRAuthErrorCodeInvalidUserToken
Indica que o token de atualização do usuário que fez login e que detém informações sobre a sessão é inválido. Solicite novo login neste dispositivo.
FIRAuthErrorCodeUserDisabled
Indica que a conta do usuário está desativada e não pode mais ser usada até que seja reativada no painel Usuários do console do Firebase.
reauthenticateWithCredential:completion:
Código
Significado
FIRAuthErrorCodeInvalidCredential
Indica que a credencial informada é inválida. Isso pode acontecer se a credencial estiver expirada ou incorreta.
FIRAuthErrorCodeInvalidEmail
Indica que o endereço de e-mail está incorreto, se a credencial for do tipo EmailPasswordAuthCredential.
FIRAuthErrorCodeWrongPassword
Indica que o usuário tentou autenticar novamente com uma senha incorreta, se a credencial for do tipo EmailPasswordAuthCredential.
FIRAuthErrorCodeUserMismatch
Indica que houve uma tentativa de nova autenticação com um usuário que não é o usuário atual.
FIRAuthErrorCodeOperationNotAllowed
Indica que contas com o provedor de identidade representado pela credencial não estão ativadas. Ative-as na seção "Autenticação" do console do Firebase.
FIRAuthErrorCodeEmailAlreadyInUse
Indica que o e-mail informado pela credencial como, por exemplo, o de um token de acesso do Facebook, já está em uso por uma conta existente que não pode ser autenticada novamente com esse método de login. Chame fetchProvidersForEmail para receber o e-mail desse usuário e solicite que ele faça login com qualquer um dos provedores de login retornados. Esse erro é gerado somente quando a configuração "Uma conta por endereço de e-mail" está ativada no console do Firebase, nas configurações de Authentication.
FIRAuthErrorCodeUserDisabled
Indica que a conta do usuário está desativada.
updateEmail:completion:
Código
Significado
FIRAuthErrorCodeEmailAlreadyInUse
Indica que o e-mail já está em uso por outra conta.
FIRAuthErrorCodeInvalidEmail
Indica que o endereço de e-mail informado está incorreto.
FIRAuthErrorCodeRequiresRecentLogin
Atualizar o e-mail de um usuário é uma operação com risco de segurança que exige um login recente dele. Esse erro indica que não há login recente. Para resolver, autentique novamente o usuário invocando reauthenticateWithCredential:completion: em FIRUser.
updatePassword:completion:
Código
Significado
FIRAuthErrorCodeOperationNotAllowed
Indica que o administrador desativou o login com o provedor de identidade especificado.
FIRAuthErrorCodeRequiresRecentLogin
Atualizar a senha de um usuário é uma operação com risco de segurança que exige um login recente dele. Esse erro indica que não há login recente. Para resolver, autentique novamente o usuário invocando reauthenticateWithCredential:completion: em FIRUser.
FIRAuthErrorCodeWeakPassword
Indica uma tentativa de definição de uma senha considerada muito fraca. O campo NSLocalizedFailureReasonErrorKey no objeto de dicionário NSError.userInfo conterá uma explicação mais detalhada que pode ser exibida ao usuário.
linkWithCredential:completion:
Código
Significado
FIRAuthErrorCodeProviderAlreadyLinked
Indica uma tentativa de vínculo de um tipo de provedor já vinculado a essa conta.
FIRAuthErrorCodeCredentialAlreadyInUse
Indica uma tentativa de vínculo de uma credencial já vinculada a outra conta do Firebase.
FIRAuthErrorCodeOperationNotAllowed
Indica que contas com o provedor de identidade representado pela credencial não estão ativadas. Ative-as na seção "Autenticação" do console do Firebase.
Indica uma tentativa de desvincular um provedor que não está vinculado à conta.
FIRAuthErrorCodeRequiresRecentLogin
Atualizar o e-mail é uma operação com risco de segurança que exige um login recente do usuário. Esse erro indica que não há login recente. Para resolver, autentique novamente o usuário invocando reauthenticateWithCredential:completion: em FIRUser.
sendEmailVerificationWithCompletion:
Código
Significado
FIRAuthErrorCodeUserNotFound
Indica que a conta de usuário não foi encontrada.
deleteWithCompletion:
Código
Significado
FIRAuthErrorCodeRequiresRecentLogin
A exclusão de uma conta de usuário é uma operação que apresenta risco à segurança e exige um login recente do usuário. Esse erro indica que não há login recente. Para resolver, autentique novamente o usuário invocando reauthenticateWithCredential:completion: em FIRUser.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-01-26 UTC."],[],[]]