我有以下代碼,我想比較 2 個值并相應地設定規則,但顯然兩者之間沒有一致性,至少比較不起作用問題是我想讓所有時間戳都存盤在 ms 中。
// Data Filed set in cloud fuction.
const expiresIn = 3600; // test 1h //172800 === 48h
const createdAt = admin.firestore.Timestamp.now().toDate();
createdAt.setSeconds(createdAt.getSeconds() expiresIn);
premiumUntill: admin.firestore.Timestamp.fromDate(createdAt).toMillis()
// Rules
&& request.auth.token.premiumUntill > request.time
&& resource.data.premiumUntill > request.time
uj5u.com熱心網友回復:
request.time是Timestamp物件,而不是以毫秒為單位的時間。它不能與整數直接比較。
如果你想在規則中使用 request.time,你應該在檔案欄位中存盤一個 Firestore Timestamp 物件以便直接比較。或者您可以先將規則時間戳轉換為毫秒,然后再將其與整數進行比較。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/476480.html
標籤:火力基地 谷歌云火库 firebase-安全
