确定FirebaseError缺少权限或权限不足的路径和根本原因

确定FirebaseError缺少权限或权限不足的路径和根本原因,firebase,google-cloud-platform,google-cloud-firestore,firebase-security,Firebase,Google Cloud Platform,Google Cloud Firestore,Firebase Security,我用的是Firebase和Firestore。我的web应用在渲染时引发错误: FirebaseError: Missing or insufficient permissions 但是stacktrace非常长,而且所有库代码就我所知都很长,因此几乎不可能确定到底是什么代码导致了这种情况 在对我的代码库进行了大量搜索之后,我确定某个库正在尝试从/profiles/{uid}获取数据,并修复了错误,但如果我有更好的调试工具,这会快得多 是否有方法获取试图从错误中读取的路径,或与错误相关的任何其

我用的是Firebase和Firestore。我的web应用在渲染时引发错误:

FirebaseError: Missing or insufficient permissions
但是stacktrace非常长,而且所有库代码就我所知都很长,因此几乎不可能确定到底是什么代码导致了这种情况

在对我的代码库进行了大量搜索之后,我确定某个库正在尝试从
/profiles/{uid}
获取数据,并修复了错误,但如果我有更好的调试工具,这会快得多

是否有方法获取试图从错误中读取的路径,或与错误相关的任何其他元数据?我检查了Firebase web控制台中的监控和日志,但找不到任何内容。Firestore拒绝的日志(包括尝试的路径)对此非常有用。

根据Doug Stevenson的说法,无法记录此日志,因为它可能会向潜在攻击者透露安全措施


不过,如果在部署前使用测试查询,您应该找到更多日志。

由于安全规则拒绝查询,因此查询失败。请编辑问题以显示查询和相关安全规则。没有这些细节,我们无能为力。我理解为什么查询失败。这不是我要问的问题。问题是如何使用监视或日志记录或更好的错误描述来确定失败查询的路径。我很乐意重新表述问题或添加细节,但请不要在不理解问题是什么的情况下投票结束我的问题。谢谢。我一直在找这个,但什么也找不到。我认为这是所用语言的一个问题,而不是另一个问题,因为执行环境应该负责向您显示stacktrace。了解您如何调用firebase函数(例如,显示代码!)会很有帮助。是task.getException()中的问题中显示的错误吗?仅在此处支持问题的实质内容。这不是不可能的,例如,在某些异步应用程序逻辑中,身份验证在触发db请求之前发生更改,因此存在竞争条件——更好地了解到底是什么触发了权限错误可以显著缩短调试时间。谢谢。我更多地考虑了谷歌云平台提供的服务器端日志记录和监控。