Firebase - Firestore rules: throttle create requests

Multi tool use
up vote
0
down vote
favorite
Since I've found nothing online. I would like to know, if there is a firestore rule that allows create request for stories from a simple user only after every 60 sec?
My Data-structure is simple:
stories--
|
- document 1
- document 2
...
users--
|
- document 1
- document 2
...
I basically have two top level collections. The documents of my Stories collection contains also a timestamp property.
So on the rules for my stories collection, it should look like this:
service cloud.firestore
match /databases/database/documents
match /stories/storyId
allow create: if isSignedIn() && isVerified() && throttleRequestTime();
function throttleRequestTime()
return request.time < ***the value to compare*** + duration.value(60, 's');

add a comment |
up vote
0
down vote
favorite
Since I've found nothing online. I would like to know, if there is a firestore rule that allows create request for stories from a simple user only after every 60 sec?
My Data-structure is simple:
stories--
|
- document 1
- document 2
...
users--
|
- document 1
- document 2
...
I basically have two top level collections. The documents of my Stories collection contains also a timestamp property.
So on the rules for my stories collection, it should look like this:
service cloud.firestore
match /databases/database/documents
match /stories/storyId
allow create: if isSignedIn() && isVerified() && throttleRequestTime();
function throttleRequestTime()
return request.time < ***the value to compare*** + duration.value(60, 's');

1
What about firebase.google.com/docs/reference/rules/rules.timestamp_ and firebase.google.com/docs/reference/rules/rules.duration_? (I've never tried so I cannot help you more but definitely curious to see if it can be use in your case!)
– Renaud Tarnec
18 hours ago
You can definitely protect access to each document with thetimestamp
property. You can however not protect querying across the collection based on thetimestamp
property (at least not when I last tried it).
– Frank van Puffelen
15 hours ago
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
Since I've found nothing online. I would like to know, if there is a firestore rule that allows create request for stories from a simple user only after every 60 sec?
My Data-structure is simple:
stories--
|
- document 1
- document 2
...
users--
|
- document 1
- document 2
...
I basically have two top level collections. The documents of my Stories collection contains also a timestamp property.
So on the rules for my stories collection, it should look like this:
service cloud.firestore
match /databases/database/documents
match /stories/storyId
allow create: if isSignedIn() && isVerified() && throttleRequestTime();
function throttleRequestTime()
return request.time < ***the value to compare*** + duration.value(60, 's');

Since I've found nothing online. I would like to know, if there is a firestore rule that allows create request for stories from a simple user only after every 60 sec?
My Data-structure is simple:
stories--
|
- document 1
- document 2
...
users--
|
- document 1
- document 2
...
I basically have two top level collections. The documents of my Stories collection contains also a timestamp property.
So on the rules for my stories collection, it should look like this:
service cloud.firestore
match /databases/database/documents
match /stories/storyId
allow create: if isSignedIn() && isVerified() && throttleRequestTime();
function throttleRequestTime()
return request.time < ***the value to compare*** + duration.value(60, 's');


edited 15 hours ago
Frank van Puffelen
217k25359384
217k25359384
asked 18 hours ago


scare-me
222220
222220
1
What about firebase.google.com/docs/reference/rules/rules.timestamp_ and firebase.google.com/docs/reference/rules/rules.duration_? (I've never tried so I cannot help you more but definitely curious to see if it can be use in your case!)
– Renaud Tarnec
18 hours ago
You can definitely protect access to each document with thetimestamp
property. You can however not protect querying across the collection based on thetimestamp
property (at least not when I last tried it).
– Frank van Puffelen
15 hours ago
add a comment |
1
What about firebase.google.com/docs/reference/rules/rules.timestamp_ and firebase.google.com/docs/reference/rules/rules.duration_? (I've never tried so I cannot help you more but definitely curious to see if it can be use in your case!)
– Renaud Tarnec
18 hours ago
You can definitely protect access to each document with thetimestamp
property. You can however not protect querying across the collection based on thetimestamp
property (at least not when I last tried it).
– Frank van Puffelen
15 hours ago
1
1
What about firebase.google.com/docs/reference/rules/rules.timestamp_ and firebase.google.com/docs/reference/rules/rules.duration_? (I've never tried so I cannot help you more but definitely curious to see if it can be use in your case!)
– Renaud Tarnec
18 hours ago
What about firebase.google.com/docs/reference/rules/rules.timestamp_ and firebase.google.com/docs/reference/rules/rules.duration_? (I've never tried so I cannot help you more but definitely curious to see if it can be use in your case!)
– Renaud Tarnec
18 hours ago
You can definitely protect access to each document with the
timestamp
property. You can however not protect querying across the collection based on the timestamp
property (at least not when I last tried it).– Frank van Puffelen
15 hours ago
You can definitely protect access to each document with the
timestamp
property. You can however not protect querying across the collection based on the timestamp
property (at least not when I last tried it).– Frank van Puffelen
15 hours ago
add a comment |
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53224147%2ffirebase-firestore-rules-throttle-create-requests%23new-answer', 'question_page');
);
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Bhskb,xrQ2OdQ kw62vt1Gm 0we9Nmj,KF4U 7xQ C3m kZ7aflsRYpkn 6 7bP1IB8nRabJiJYn
1
What about firebase.google.com/docs/reference/rules/rules.timestamp_ and firebase.google.com/docs/reference/rules/rules.duration_? (I've never tried so I cannot help you more but definitely curious to see if it can be use in your case!)
– Renaud Tarnec
18 hours ago
You can definitely protect access to each document with the
timestamp
property. You can however not protect querying across the collection based on thetimestamp
property (at least not when I last tried it).– Frank van Puffelen
15 hours ago