1
私のワーカーコードのfirebaseキューにタスクをプッシュしたユーザーを知りたい。私はタスク内でuserIdをプッシュできますが、それは安全ではなく、ほかのユーザーは他のユーザーのuserIdを押すことができます。キューにタスクをプッシュしたユーザーにアクセスできる方法はありますか?現在のユーザーがfirebaseキュー
私のワーカーコードのfirebaseキューにタスクをプッシュしたユーザーを知りたい。私はタスク内でuserIdをプッシュできますが、それは安全ではなく、ほかのユーザーは他のユーザーのuserIdを押すことができます。キューにタスクをプッシュしたユーザーにアクセスできる方法はありますか?現在のユーザーがfirebaseキュー
ユーザーが自分の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に特に注意することをお勧めします。