2016-05-29 10 views
1

時間アクセスに基づいてFirebase Storageファイルを保護しようとしています。ファイルをアップロードした後、特定の時間までしかファイルを読み込めないようにします。Firebaseストレージセキュリティルール:duration.valueパラメータ

この特定の時刻は、ユーザーがアップロードしたときにファイルメタデータのカスタムプロパティ「有効期限」フィールドに格納されます。

私の問題は、私はそうのようduration.value(int magnitude, string units)関数にパラメータとしてこの値を使用しようとしているということです。

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

しかし、「期間」関数は、大きさだけパラメータに一定の値を受け入れているようだと、動的値ではありません。

誰もがこれを試してみましたか?

おかげ

答えて

2

いい質問、申し訳ありませんあなたが抱えている悩み:(

はい、これらの機能は、動的な値をとり行う - ここでの問題は、タイプが間違っているということですので、関数が失敗しています。

あなたが正しく指摘したようにduration.value()は、intstringをとりながら、すべてのカスタムメタデータは、(「期限切れ」であるとして)、文字列として返されます。

簡単なこれを行う方法(まだ文書化されていないのとが)、int()方法使用して、intstring値をキャストすることです:私はそれが間違った型に起因すると考えていたが、私は」didnの深く調査した後

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

を鋳物をすることが可能であることを知っている。ニース! – MrBrightside

+1

はい、残念ながらドキュメントの問題です(私は更新するよう努めています) –

関連する問題