如果身份验证失败,Firebase Auth是否会返回错误代码?

浮点数

我正在使用Firebase Auth构建登录流,以使用电子邮件和密码对用户进行身份验证。登录时,某些事情可能会出错:给定电子邮件地址的帐户不存在,密码错误(...)。

Firebase是否会返回任何错误代码,以便我可以添加错误处理?我只找到了可以用于错误处理的异常消息,但是有什么办法可以使错误代码变得更加整洁?我在Firebase官方文档中找不到任何内容。

    auth.signInWithEmailAndPassword(email, password).addOnCompleteListener { task ->
        if (task.isSuccessful) {
            // Sign in success, update UI with the signed-in user's information
            Log.d(TAG, "signInWithEmail:success")
        } 
    }.addOnFailureListener { exception: Exception ->
        when (exception.message) {
            "There is no user record corresponding to this identifier. The user may have been deleted." -> // Handle error
            "The password is invalid or the user does not have a password." ->// Handle error
            else -> // Handle error
        }
    }
亚历克斯·莫莫

Firebase是否会返回任何错误代码,以便我可以添加错误处理?

当然可以。FirebaseAuthException类包含一个名为getErrorCode()的方法,该方法

返回可能提供有关该错误的更多信息的错误代码。

除此之外,在上述文档中,您还将找到两个非常有用的部分:

  1. 已知的直接子类:

和:

  1. 已知的间接子类:

因此,您始终可以根据抛出的特定异常来获取特定消息。

编辑:

我想知道是从哪里获取所有错误代码的列表。

Firebase Auth没有提供完整的错误列表。链接的答案可能会有点旧,因为它在16年7月7日添加。从那时起,Firebase身份验证SDK进行了一些更改。如果您对错误代码感兴趣,则应检查每种类型的异常。例如,已知的FirebaseAuthException直接子类称为FirebaseAuthInvalidUserException在此类中,您可能会看到一些错误代码:

  • ERROR_USER_DISABLED
  • ERROR_USER_NOT_FOUND
  • ERROR_USER_TOKEN_EXPIRED
  • ERROR_INVALID_USER_TOKEN。

因此,最好的选择是查看每个特定的类。

这仅在身份验证时不可用,在所有其他Exception类中均可用。例如,如果我们正在谈论Cloud Firestore,则相应的Exception称为FirebaseFirestoreException,并且其中包含带有错误代码枚举这些是值:

  • 已中止
  • 已经存在
  • 取消
  • DATA_LOSS
  • DEADLINE_EXCEEDED
  • FAILED_PRECONDITION
  • 内部
  • 无效的论点
  • 未找到
  • 超出范围
  • 没有权限
  • RESOURCE_EXHAUSTED
  • 未经授权
  • 无法使用
  • 已取消
  • 未知

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

服务器在SASL身份验证步骤上返回错误:身份验证失败

了解REST:动词,错误代码和身份验证

Firebase + auth0身份验证

错误:用户的身份验证失败

Firebase令牌身份验证错误

错误-omniauth:(facebook)身份验证失败

firebase身份验证UID是否过期?

libcouchbase错误:身份验证失败

Firebase身份验证注册发生错误

Swift Firebase身份验证错误

Web Api调用返回302错误代码(身份验证失败)以及登录页面的其他响应

Firebase身份验证错误代码33 FIRAuthInternalErrorDomain是什么意思?

Firebase身份验证错误:未定义名称“ auth”

MongoDB:SASL身份验证步骤上服务器返回错误:身份验证失败

Azure AD身份验证通过Auth0失败

Rails Capistrano身份验证失败错误

Mongodb + Atlas:“验证失败,身份验证失败。”,代码:8000,

失败的su或sudo上的身份验证延迟会错开

Web参考的身份验证失败-返回错误405

Firebase NPM身份验证错误

Firebase-身份验证自定义令牌错误身份验证/网络请求失败

如何翻译 Firebase 身份验证中的错误代码?

如果我调用 goOffline,是否需要重新使用 Firebase 进行身份验证

Firebase 身份验证错误:auth/invalid-credential

React Native 代码中的 Firebase 电话身份验证错误

Azure 错误:DefaultAzureCredential 身份验证失败

Flutter Firebase:如何查找所有身份验证错误代码?

Firebase 身份验证的重复错误

使用 firebase 身份验证时 createUserWithEmailAndPassword 失败错误和 AsyncStorage 警告