【问题标题】:safe security rules for cloud firestore (firebase) without user authentication无需用户身份验证的云 Firestore (firebase) 的安全安全规则
【发布时间】:2020-10-13 14:06:48
【问题描述】:

我需要为一个不需要用户身份验证(出于某种原因)来创建新文档的颤振项目编写安全的安全规则。 对于所有其他操作,您需要进行身份验证。 仅当人们也使用该应用程序时,才允许创建文档。

如果我只是限制在特定时间(带有时间戳)创建的文档的数量并限制大小,是否就足够了,还是我还需要考虑其他事情?

我是 firebase 新手,但我知道如果您只获得项目 ID,则可以通过命令在没有应用程序的情况下执行 firebase 操作(可以从项目中创建)。 例如,我还没有考虑过这种情况。

关于最后一点: google云平台firebase项目中有3个Api key: Android 密钥、IOS 密钥和浏览器密钥。 (由 Firebase 自动创建) 我想,也许如果我对 Android 密钥应用限制,以便只有 Android 应用程序可以使用它,同样对于 IOS 密钥,问题可以解决,但我不确定。 (然后我将通过 Firebase 项目的 Google Cloud Platform 项目限制密钥。)

【问题讨论】:

    标签: firebase google-cloud-firestore firebase-security


    【解决方案1】:

    只有在使用该应用程序的情况下,才允许人们创建文档。

    此要求不适用于 Firebase。任何人都可以从您的应用程序中获取配置数据,并使用它以相同的方式调用相同的 API。只要这些呼叫符合您的安全规则,它们就会被允许。而且由于没有“仅来自 my 应用程序”的安全规则条款,因此您不能限制只有使用您的应用程序的人才能访问。

    如果我只是限制在特定时间(带有时间戳)创建的文档的数量并限制大小,是否就足够了,还是我还需要考虑其他事情?

    您想如何及时限制文档创建?如果您想按用户执行此操作,则需要了解该用户。

    我建议查看 Firebase 的匿名身份验证,它为您应用的用户提供一个 ID,而无需他们输入凭据。

    【讨论】:

    • 我刚刚为我目前正在开发的应用程序添加了匿名身份验证。当用户将他的订单发送到云 Firestore 并按下“订单”时,他将匿名登录,当订单发送到云时,匿名帐户将被删除。现在我可以在我的安全规则中使用 firebase.auth。谢谢!
    猜你喜欢
    • 2021-07-07
    • 2020-06-23
    • 2021-07-05
    • 1970-01-01
    • 2019-01-20
    • 2021-07-23
    • 1970-01-01
    • 2019-10-17
    相关资源
    最近更新 更多