Se o retorno de chamada de conclusão nos métodos de autenticação receber um argumento NSError
que não seja nulo, ocorreu um erro. Para enviar para a lógica de tratamento de erros apropriada em seu código de produção, verifique o código de erro em relação aos erros comuns e aos erros específicos do método listados abaixo.
Alguns erros podem ser resolvidos por ações específicas do usuário, por exemplo, FIRAuthErrorCodeUserTokenExpired
pode ser resolvido fazendo login do usuário novamente e FIRAuthErrorCodeWrongPassword
solicitando que o usuário forneça a senha correta.
Exceto no caso de FIRAuthErrorCodeNetworkError
ou FIRAuthErrorCodeTooManyRequests
, tentar novamente uma operação com falha com os mesmos argumentos nunca terá êxito. Não faça nenhuma suposição sobre se a operação teve ou não efeito no lado do servidor.
Ao investigar ou registrar erros, revise o dicionário userInfo
. FIRAuthErrorNameKey
contém uma string de nome de erro de plataforma cruzada que pode ser usada para identificar o erro. NSLocalizedDescriptionKey
contém uma descrição do erro. Esta descrição destina-se ao desenvolvedor, não ao usuário. NSUnderlyingErrorKey
contém o erro subjacente que causou o erro em questão, se um erro subjacente estiver presente.
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 API
Código | Significado |
---|
FIRAuthErrorCodeNetworkError | Indica que ocorreu um erro de rede 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 tiver sido 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 neste dispositivo. |
FIRAuthErrorCodeTooManyRequests | Indica que a solicitação foi bloqueada depois que um número anormal de solicitações foi feito do dispositivo chamador para os servidores do Firebase Authentication. Tente novamente depois de 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 de credenciais se a chave de API que você está usando tem o ID do pacote do seu aplicativo na lista de permissões. |
FIRAuthErrorCodeKeychainError | Indica que ocorreu um erro ao acessar o chaveiro. 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. Por favor , relate 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 está incorreto. |
signInWithEmail:senha:conclusão:
Código | Significado |
---|
FIRAuthErrorCodeOperationNotAllowed | Indica que as contas de e-mail e senha não estão habilitadas. Ative-os na seção Auth do console do Firebase . |
FIRAuthErrorCodeInvalidEmail | Indica que o endereço de e-mail está incorreto. |
FIRAuthErrorCodeUserDisabled | Indica que a conta do usuário está desativada. |
FIRAuthErrorCodeWrongPassword | Indica que o usuário tentou fazer login com uma senha errada. |
signInWithCredential: conclusão:
Código | Significado |
---|
FIRAuthErrorCodeInvalidCredential | Indica que a credencial fornecida é inválida. Isso pode acontecer se ele tiver expirado ou estiver malformado. |
FIRAuthErrorCodeInvalidEmail | Indica que o endereço de e-mail está incorreto, se a credencial for do tipo EmailPasswordAuthCredential . |
FIRAuthErrorCodeOperationNotAllowed | Indica que as contas com o provedor de identidade representado pela credencial não estão habilitadas. Ative-os na seção Auth do console do Firebase . |
FIRAuthErrorCodeEmailAlreadyInUse | Indica que o e-mail declarado pela credencial (por exemplo, o e-mail em um token de acesso do Facebook) já está em uso por uma conta existente, que não pode ser autenticada com este método de login. Chame fetchProvidersForEmail para o email desse usuário e solicite que ele faça login com qualquer um dos provedores de login retornados. Este erro só será gerado se a configuração "Uma conta por endereço de e-mail" estiver habilitada no console do Firebase , em Configurações de autenticação. |
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 contas anônimas não estão habilitadas. Ative-os na seção Auth do console do Firebase . |
signInWithCustomToken: conclusão:
Código | Significado |
---|
FIRAuthErrorCodeInvalidCustomToken | Indica um erro de validação com o token customizado. |
FIRAuthErrorCodeCustomTokenMismatch | Indica que a conta de serviço e a chave de API pertencem a projetos diferentes. |
createUserWithEmail:senha:completion:
Código | Significado |
---|
FIRAuthErrorCodeInvalidEmail | Indica que o endereço de e-mail está incorreto. |
FIRAuthErrorCodeEmailAlreadyInUse | Indica que o e-mail usado para tentar a inscrição já existe. Chame fetchProvidersForEmail para verificar quais mecanismos de login esse usuário usou e solicite que o usuário faça login com um deles. |
FIRAuthErrorCodeOperationNotAllowed | Indica que as contas de e-mail e senha não estão habilitadas. Ative-os na seção Autenticação do console do Firebase . |
FIRAuthErrorCodeWeakPassword | Indica uma tentativa de definir uma senha considerada muito fraca. O campo NSLocalizedFailureReasonErrorKey no objeto de dicionário NSError.userInfo conterá uma explicação mais detalhada que pode ser mostrada ao usuário. |
sair:
Código | Significado |
---|
FIRAuthErrorCodeKeychainError | Indicou que ocorreu um erro ao acessar o chaveiro. 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 FIRUser
Código | Significado |
---|
FIRAuthErrorCodeInvalidUserToken | Indica que o token de atualização do usuário conectado, que contém informações da sessão, é inválido. Você deve solicitar que o usuário faça login novamente neste dispositivo. |
FIRAuthErrorCodeUserDisabled | Indica que a conta do usuário está desativada e não pode mais ser usada até ser ativada novamente no painel Usuários do Console do Firebase. |
reauthenticateWithCredential: conclusão:
Código | Significado |
---|
FIRAuthErrorCodeInvalidCredential | Indica que a credencial fornecida é inválida. Isso pode acontecer se ele tiver expirado ou estiver malformado. |
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 reautenticação com uma senha incorreta, se a credencial for do tipo EmailPasswordAuthCredential . |
FIRAuthErrorCodeUserMismatch | Indica que foi feita uma tentativa de reautenticar com um usuário que não é o usuário atual. |
FIRAuthErrorCodeOperationNotAllowed | Indica que as contas com o provedor de identidade representado pela credencial não estão habilitadas. Ative-os na seção Auth do console do Firebase . |
FIRAuthErrorCodeEmailAlreadyInUse | Indica que o e-mail declarado pela credencial (por exemplo, o e-mail em um token de acesso do Facebook) já está em uso por uma conta existente, que não pode ser autenticada novamente com este método de login. Chame fetchProvidersForEmail para o email desse usuário e solicite que ele faça login com qualquer um dos provedores de login retornados. Este erro só será gerado se a configuração "Uma conta por endereço de e-mail" estiver habilitada no console do Firebase , em Configurações de autenticação. |
FIRAuthErrorCodeUserDisabled | Indica que a conta do usuário está desativada. |
atualizaçãoE-mail: conclusão:
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 está incorreto. |
FIRAuthErrorCodeRequiresRecentLogin | Atualizar o e-mail de um usuário é uma operação sensível à segurança que requer um login recente do usuário. Este erro indica que o usuário não fez login recentemente. Para resolver, reautentique o usuário invocando reauthenticateWithCredential:completion: em FIRUser . |
atualizaçãoSenha: conclusão:
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 sensível à segurança que requer um login recente do usuário. Este erro indica que o usuário não fez login recentemente. Para resolver, reautentique o usuário invocando reauthenticateWithCredential:completion: em FIRUser . |
FIRAuthErrorCodeWeakPassword | Indica uma tentativa de definir uma senha considerada muito fraca. O campo NSLocalizedFailureReasonErrorKey no objeto de dicionário NSError.userInfo conterá uma explicação mais detalhada que pode ser mostrada ao usuário. |
linkWithCredential: conclusão:
Código | Significado |
---|
FIRAuthErrorCodeProviderAlreadyLinked | Indica uma tentativa de vinculação de um provedor de um tipo já vinculado a esta conta. |
FIRAuthErrorCodeCredentialAlreadyInUse | Indica uma tentativa de vinculação a uma credencial que já foi vinculada a uma conta diferente do Firebase. |
FIRAuthErrorCodeOperationNotAllowed | Indica que as contas com o provedor de identidade representado pela credencial não estão habilitadas. Ative-os na seção Auth do console do Firebase . |
Este método também pode retornar códigos de erro associados a updateEmail:completion:
e updatePassword:completion:
em FIRUser
.
unlinkFromProvider:completion:
Código | Significado |
---|
FIRAuthErrorCodeNoSuchProvider | Indica tentativa de desvinculação de provedor que não está vinculado à conta. |
FIRAuthErrorCodeRequiresRecentLogin | A atualização de e-mail é uma operação sensível à segurança que requer um login recente do usuário. Este erro indica que o usuário não fez login recentemente. Para resolver, reautentique o usuário invocando reauthenticateWithCredential:completion: em FIRUser . |
sendEmailVerificationWithCompletion:
Código | Significado |
---|
FIRAuthErrorCodeUserNotFound | Indica que a conta do usuário não foi encontrada. |
excluirComCompletion:
Código | Significado |
---|
FIRAuthErrorCodeRequiresRecentLogin | A exclusão de uma conta de usuário é uma operação sensível à segurança que requer um login recente do usuário. Este erro indica que o usuário não fez login recentemente. Para resolver, reautentique o usuário invocando reauthenticateWithCredential:completion: em FIRUser . |