【发布时间】:2023-03-18 00:39:01
【问题描述】:
在 Unity 中使用 Google Firebase 身份验证插件时,如何读取错误请求的错误代码?
例如,在这段代码中:
auth.SignInWithEmailAndPasswordAsync(email, password).ContinueWith(task => {
if(task.IsFaulted){
Debug.Log("ERROR ENCOUNTERED: " + task.Exception);
return;
}
if(task.IsCompleted){
// Success!
}
});
您可以看到,如果发生错误,我可以将异常记录出来,它会打印以下内容:
遇到错误:System.AggregateException:引发了“System.AggregateException”类型的异常。
Firebase.FirebaseException:没有与此标识符对应的用户记录。该用户可能已被删除。
这是非常可读的,但放在 switch 语句中不是很优雅。我有什么办法可以将 task.Exception 转换为 FirebaseException 以便我可以获取错误代码?在某处是否有这些错误代码的列表?我可以找到 FirebaseException 的文档,但没有错误代码。感谢您的帮助!
编辑:
因此,虽然我仍然希望得到答案,但我开始认为 Google 希望开发人员根据请求的上下文使用一揽子错误语句。例如,当使用电子邮件和密码登录失败时(如上面的代码),我们应该使用“电子邮件或密码不正确”的常见说法。这样做的问题是,我无法让用户知道他们提供不正确的详细信息与他们输入根本没有关联帐户的电子邮件之间的区别。
【问题讨论】:
-
这里有一个解决方案! stackoverflow.com/questions/53036083/…
标签: c# firebase unity3d firebase-authentication