【问题标题】:Firebase rules: is it possible to communicate between security rules of different productsFirebase 规则:是否可以在不同产品的安全规则之间进行通信
【发布时间】:2018-12-02 22:04:00
【问题描述】:

我知道我可以为 firebase 中的某些功能指定规则,例如 real-time databasefirebase storage

示例:

我可以在实时数据库中指定一个规则,只允许用户在他们的特定 UID 下更新他们的数据。

问题:

是否可以在 firebase 存储中指定一个规则,以便用户可以下载文件(例如:图像)当且仅当他存在于实时数据库中的某个节点下?

不同产品的安全规则之间的这种通信是否可行?

如果没有,我该怎么办?

谢谢。

【问题讨论】:

    标签: firebase firebase-realtime-database firebase-storage firebase-security


    【解决方案1】:

    你不能像这样在产品之间进行交流。

    您可以做的是对经过身份验证的用户配置文件使用自定义声明来控制谁可以访问各种产品中的哪些位置。

    Read more about custom claims here.

    Read more about realtime database rules with custom claims.Read about auth.token.

    In Firestore, you can use request.auth.token to access custom claims.

    In Cloud Storage, you can also use request.auth.token.

    【讨论】:

    • 我在哪里创建这个自定义声明?
    • 第一个链接为您提供了很多选择。
    • 是否可以从控制台为任何 uid 设置?
    • 不,您编写的代码如该页面上的示例所示。
    • 我的理解是你需要做自定义认证?如果是这种情况,那么当您进行自定义身份验证时,您必须将自定义声明设置为当身份验证返回给客户端时返回的标志.......现在我不明白的是例如,如果用户存在于实时数据库中的(用户节点)下,是否可以帮助我下载图像?
    猜你喜欢
    • 1970-01-01
    • 2016-06-27
    • 1970-01-01
    • 2017-04-09
    • 2016-08-19
    • 1970-01-01
    • 1970-01-01
    • 2020-09-06
    相关资源
    最近更新 更多