Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何仅对付费用户限制firebase存储文件?_Firebase_Firebase Storage_Firebase Security - Fatal编程技术网

如何仅对付费用户限制firebase存储文件?

如何仅对付费用户限制firebase存储文件?,firebase,firebase-storage,firebase-security,Firebase,Firebase Storage,Firebase Security,我将文件存储在firebase云存储中。此文件仅可供付费用户下载 如何设置安全规则以允许付费用户对该文件具有读取权限 [更新] 我使用CloudFireStore来存储用户集合 每个用户文档包含 液体 电子邮件 名字 照片网址 提供者 地位 条纹串珠 purchasedProducts无法从Firebase存储的安全规则中访问云Firestore 这意味着当前实现用例的唯一方法是: 在用户的ID令牌中包含必要的信息,作为自定义声明,然后也将其添加 在安全规则中包含有关用户(可能是他们的UID

我将文件存储在firebase云存储中。此文件仅可供付费用户下载

如何设置安全规则以允许付费用户对该文件具有读取权限

[更新]

我使用CloudFireStore来存储用户集合 每个用户文档包含

  • 液体
  • 电子邮件
  • 名字
  • 照片网址
  • 提供者
  • 地位
  • 条纹串珠

  • purchasedProducts无法从Firebase存储的安全规则中访问云Firestore

    这意味着当前实现用例的唯一方法是:

    • 在用户的ID令牌中包含必要的信息,作为自定义声明,然后也将其添加
    • 在安全规则中包含有关用户(可能是他们的UID)的必要信息
    因为第二种方法需要为每个付费用户更新规则,所以这并不常见

    可以通过设置自定义声明,例如,通过云函数设置自定义声明,当您将其支付信息写入云Firestore时,该函数将触发


    一旦您设置了自定义声明,它可能需要一个小时才能在客户端上可用,并且在安全规则中是这样的。原因是声明包含在ID令牌中,该令牌每小时仅进行一次身份验证刷新。如果您愿意,您可以强制刷新客户端上的用户配置文件。

    请编辑问题,以显示您尝试过但无法按预期方式工作的内容。您还应该解释“付费”对用户意味着什么。您如何在系统中表示这一点?这里可能有很多活动部件需要理解。谢谢,弗兰克,我给你买了一杯啤酒。你救了我,我的头没有撞到墙上。Firebase Auth不能附加自定义声明而不实现自定义身份验证。