Se o retorno de chamada de conclusão em métodos Authentication receber um argumento NSError
que não
é nulo, ocorreu um erro. Para despachar o erro para uma lógica de apropriada de solução
de erros no seu código de produção, verifique o código do erro na lista de erros comuns e
erros específicos de métodos abaixo.
Alguns erros podem ser solucionados por ações específicas do usuário, por exemplo,
FIRAuthErrorCodeUserTokenExpired
pode ser solucionado quando o usuário faz login
novamente e FIRAuthErrorCodeWrongPassword
é solucionado ao solicitar que ele forneça a
senha certa.
Com exceção do caso de FIRAuthErrorCodeNetworkError
ou
FIRAuthErrorCodeTooManyRequests
, tentar novamente uma operação com falha usando os mesmos
argumentos nunca terá sucesso. Não presuma se a operação teve ou não
efeito no lado do servidor.
Ao investigar ou registrar erros, consulte o dicionário userInfo
.
FIRAuthErrorNameKey
contém uma string de nome de erro multiplataforma que pode ser
usada para identificar o erro.
NSLocalizedDescriptionKey
contém uma descrição do erro. Essa
descrição é destinada ao desenvolvedor, não ao usuário.
NSUnderlyingErrorKey
contém o erro subjacente que causou o erro em
questão, caso ele esteja presente.
Além dos campos principais listados acima, podem haver outros campos no dicionário
userInfo
, que podem ser útil para diagnosticar erros.
Códigos de erro comuns a todos os métodos de API
Código |
Significado |
FIRAuthErrorCodeNetworkError |
Indica que um erro de rede ocorreu durante a operação. |
FIRAuthErrorCodeUserNotFound |
Indica que a conta do usuário não foi encontrada. Isso pode acontecer se a conta do usuário foi excluída. |
FIRAuthErrorCodeUserTokenExpired |
Indica que o token do usuário atual expirou, por exemplo, o usuário pode ter alterado a senha da conta em outro dispositivo. Você deve solicitar que o usuário faça login novamente no dispositivo em questão. |
FIRAuthErrorCodeTooManyRequests |
Indica que a solicitação foi bloqueada após uma quantidade anormal de solicitações feitas do dispositivo chamador para os servidores do Firebase Authentication . Tente novamente após algum tempo. |
FIRAuthErrorCodeInvalidAPIKey |
Indica que o aplicativo foi configurado com uma chave de API inválida. |
FIRAuthErrorCodeAppNotAuthorized |
Indica que o aplicativo não está autorizado a usar o Firebase Authentication com a chave de API fornecida. Acesse o Google API Console e verifique na guia Credentials se a chave de API usada tem o ID de pacote do seu aplicativo na lista de permissões. |
FIRAuthErrorCodeKeychainError |
Indica que ocorreu um erro ao acessar o 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 o objeto NSError inteiro. |
Códigos de erro específicos de método
FIRAuth
fetchProvidersForEmail:completion:
Código |
Significado |
FIRAuthErrorCodeInvalidEmail |
Indica que o endereço de e-mail é inválido. |
signInWithEmail:password:completion:
Código |
Significado |
FIRAuthErrorCodeOperationNotAllowed |
Indica que contas de endereço de e-mail e senha não foram ativadas. Ative-as na seção Auth do Firebase console. |
FIRAuthErrorCodeUserDisabled |
Indica que a conta do usuário está desativada. |
FIRAuthErrorCodeWrongPassword |
Indica que o usuário tentou fazer login com a senha errada. |
signInWithCredential:completion:
Código |
Significado |
FIRAuthErrorCodeInvalidCredential |
Indica que a credencial fornecida é inválida. Isso pode acontecer se ela tiver expirado ou se tiver formação inválida. |
FIRAuthErrorCodeOperationNotAllowed |
Indica que contas com o provedor de identidade representado pela credencial não estão ativadas. Ative-as na seção Auth do Firebase console. |
FIRAuthErrorCodeEmailAlreadyInUse |
Indica que o e-mail afirmado pela credencial (por exemplo, o e-mail em um token de acesso do Facebook) já está sendo usado por uma conta existente, que não pode ser autenticada com esse método de login. Chame fetchProvidersForEmail para o e-mail desse usuário e solicite que ele faça login com qualquer um dos provedores de login fornecidos. Esse erro só será acionado se a configuração "One account per email address" estiver ativada no Firebase console, 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 a senha errada, se a credencial for do tipo EmailAuthCredential . |
signInAnonymouslyWithCompletion:
Código |
Significado |
FIRAuthErrorCodeOperationNotAllowed |
Indica que contas anônimas não estão ativadas. Ative-as na seção Auth do Firebase console. |
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 é inválido. |
FIRAuthErrorCodeEmailAlreadyInUse |
Indica que o e-mail usado na tentativa de login já existe. Chame fetchProvidersForEmail para verificar quais mecanismos de login o usuário usou e solicitar que ele faça login com um deles. |
FIRAuthErrorCodeOperationNotAllowed |
Indica que contas de endereço de e-mail e senha não foram ativadas. Ative-as na seção Authentication do Firebase console. |
FIRAuthErrorCodeWeakPassword |
Indica uma tentativa de definir uma senha considerada fraca demais. O campo NSLocalizedFailureReasonErrorKey no objeto de dicionário NSError.userInfo conterá uma explicação mais detalhada que pode ser mostrada ao usuário. |
signOut:
Código |
Significado |
FIRAuthErrorCodeKeychainError |
Indica que ocorreu um erro ao acessar o 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 para operações de FIRUser
Código |
Significado |
FIRAuthErrorCodeInvalidUserToken |
Indica que o token de atualização do usuário conectado, que contém as informações da sessão, é inválido. Você deve solicitar que o usuário faça login novamente nesse dispositivo. |
FIRAuthErrorCodeUserDisabled |
Indica que a conta do usuário está desativada e não pode mais ser usada até que seja reativada pelo painel Users no Firebase console. |
updateEmail:completion:
Código |
Significado |
FIRAuthErrorCodeEmailAlreadyInUse |
Indica que o e-mail já está sendo usado por outra conta. |
FIRAuthErrorCodeInvalidEmail |
Indica que o endereço de e-mail é inválido. |
FIRAuthErrorCodeRequiresRecentLogin |
Atualizar o e-mail de um usuário é uma operação com risco de segurança que exige um login recente do usuário. Esse erro indica que o usuário não fez login recentemente. Para solucioná-lo, reautentique o usuário invocando reauthenticateWithCredential:completion: no 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 do usuário. Esse erro indica que o usuário não fez login recentemente. Para solucioná-lo, reautentique o usuário invocando reauthenticateWithCredential:completion: no FIRUser . |
FIRAuthErrorCodeWeakPassword |
Indica uma tentativa de definir uma senha considerada fraca demais. O campo NSLocalizedFailureReasonErrorKey no objeto de dicionário NSError.userInfo conterá uma explicação mais detalhada que pode ser mostrada ao usuário. |
linkWithCredential:completion:
Código |
Significado |
FIRAuthErrorCodeProviderAlreadyLinked |
Indica uma tentativa de vincular um provedor de um tipo já vinculado a essa conta. |
FIRAuthErrorCodeCredentialAlreadyInUse |
Indica uma tentativa de vincular uma credencial que já foi 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 Auth do Firebase console. |
Esse método pode retornar códigos de erro associados com updateEmail:completion:
e
updatePassword:completion:
no FIRUser
.
unlinkFromProvider:completion:
Código |
Significado |
FIRAuthErrorCodeNoSuchProvider |
Indica uma tentativa de desvincular um provedor que não está vinculado à conta. |
FIRAuthErrorCodeRequiresRecentLogin |
Atualizar o e-mail de um usuário é uma operação com risco de segurança que exige um login recente do usuário. Esse erro indica que o usuário não fez login recentemente. Para solucioná-lo, reautentique o usuário invocando reauthenticateWithCredential:completion: no FIRUser . |
sendEmailVerificationWithCompletion:
Código |
Significado |
FIRAuthErrorCodeUserNotFound |
Indica que a conta do usuário não foi encontrada. |
deleteWithCompletion:
Código |
Significado |
FIRAuthErrorCodeRequiresRecentLogin |
Atualizar o e-mail de um usuário é uma operação com risco de segurança que exige um login recente do usuário. Esse erro indica que o usuário não fez login recentemente. Para solucioná-lo, reautentique o usuário invocando reauthenticateWithCredential:completion: no FIRUser . |