2017-01-13 7 views
1

내 작업자 코드의 firebase 대기열에서 작업을 푸시 한 사용자를 알고 싶습니다. 작업에서 userId를 푸시 할 수는 있지만 안전하지는 않습니다. 다른 사용자가 다른 사용자의 userId를 푸시 할 수 있습니다. 대기열에서 작업을 푸시 한 사용자에게 액세스 할 수있는 방법이 있습니까?현재 firebase 대기열에있는 사용자

답변

1

사용자가 자신의 UID가 포함 된 작업 만 누를 수 있도록 데이터베이스를 보호하는 것은 매우 쉽습니다.

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

당신은 사용자 만이 규칙으로 creator 특성에 따라 자신의 UID와 함께 작업을 밀어 수 있도록 할 수 있습니다 :

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

예를 들어

, 당신이 JSON 구조를 갖고 있다고 documentation on Firebase security rules을 읽고 section on user based security에 특히주의해야합니다.