2017-01-13 24 views
1

私のワーカーコードのfirebaseキューにタスクをプッシュしたユーザーを知りたい。私はタスク内でuserIdをプッシュできますが、それは安全ではなく、ほかのユーザーは他のユーザーのuserIdを押すことができます。キューにタスクをプッシュしたユーザーにアクセスできる方法はありますか?現在のユーザーがfirebaseキュー

答えて

1

ユーザーが自分のUIDを含むタスクのみをプッシュできるように、データベースを保護するのはかなり簡単です。例えば

、あなたはこのJSON構造を持っていると言う:

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", 
     } 
     } 
    } 
    } 
} 

私はdocumentation on Firebase security rulesを読んで、section on user based securityに特に注意することをお勧めします。

関連する問題