Firebase - Firestore rules: throttle create requests
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');
firebase google-cloud-firestore firebase-security-rules
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');
firebase google-cloud-firestore firebase-security-rules
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');
firebase google-cloud-firestore firebase-security-rules
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');
firebase google-cloud-firestore firebase-security-rules
firebase google-cloud-firestore firebase-security-rules
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
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