【发布时间】:2020-05-01 14:06:13
【问题描述】:
我正在用 Flutter 和 Firebase 编写一个应用程序(目前使用 Firestore、Storage 和 Authentication)。
当前应用程序显示来自 Firebase 的内容,但现在我正在尝试找出在 Firebase 中实现编写/编辑/删除内容的最佳方法。
目标是让用户拥有管理员权限。
我的问题是我是否可以在客户端应用程序中构建一个管理面板(这将是理想的),或者如果这被认为是不好的做法,我应该在另一个应用程序中构建一个管理面板并使用 Cloud函数。
例如,目前我在 Flutter/Dart 代码中执行身份验证(注册/注册),并在注册时在 Firestore isAdmin = false 中创建一个字段,然后我可以在 Firestore 中手动将其设置为 true(如果我愿意)安慰。这可能是一种“不安全”的方式吗?
【问题讨论】:
-
仅供参考,反引号用于标记代码位,而不是突出显示产品名称。
-
我不知道你说的不安全是什么意思。您所做的更改是否满足您的应用程序的需求?如果是这样,那就去做吧。
-
@DougStevenson 我所说的“不安全”是因为我在客户端初始化了一个用户,isAdmin 字段是否可以被其他人逆向工程并以某种方式设置为真?提前致谢
-
如果您想限制最终用户可以对文档中的数据执行的操作,您需要研究安全规则。如果没有良好的安全规则,您的数据可能完全不安全。
-
感谢您的澄清。我将仔细研究创建强大的安全规则:)
标签: firebase flutter google-cloud-firestore firebase-authentication google-cloud-functions