Firebase 存储安全规则:duration.value 参数



我正在尝试根据时间访问权限保护我的 Firebase 存储文件,假设只允许在文件上传后的特定时间读取文件。

当用户上传此特定时间

时,此特定时间将存储在文件元数据中的自定义属性"过期"字段中。

我的问题是我试图将此值用作duration.value(int magnitude, string units)函数的参数,如下所示:

request.time < resource.timeCreated + duration.value(resource.metadata.expiration, "m");

但是"持续时间"函数似乎只接受量级参数中的常量值,而不是动态值。

有人也尝试过这个吗?

谢谢

好问题,抱歉您遇到麻烦:(

是的,这些函数确实采用动态值 - 这里的问题是类型错误,因此函数失败。

正如您正确指出的那样,所有自定义元数据(如"过期")都以字符串形式返回,而duration.value()则采用intstring

执行此操作的简单(尽管尚未记录)方法是使用 int() 方法将string值转换为int

request.time < resource.timeCreated + duration.value(int(resource.metadata.expiration), "m");

相关内容

  • 没有找到相关文章

最新更新