current user on firebase queue

72 Views Asked by At

I want to know which user pushed the task on the firebase queue in my worker code. I can push the userId in the task, but that is not secure, any other user can push other user's userId. Is there a way I can access the user who pushed the task in the queue.

1

There are 1 best solutions below

0
On BEST ANSWER

It's fairly easy to secure your database so that users can only push tasks that contain their own UID.

For example, say you have this JSON structure:

tasks
  task1
    creator: "uidOfPankaj"
    description: "Whatever other fields your task needs"
  task2
    creator: "uidOfPuf"
    description: "Fields for Frank's task"

You can ensure that a user can only push tasks with their own UID under the creator property with these rules:

{
  "rules": {
    "tasks": {
      "$taskId": {
        ".write": "newData.hasChildren(['creator', 'description'])",
        "creator": {
          ".write": "newData.val() == auth.uid",
        }
      }
    }
  }
}

I recommend you read the documentation on Firebase security rules and pay special attention to the section on user based security.