验证Firebase密钥
问题描述:
我刚刚开始使用Firebase安全性,可能我错过了某些内容。我需要验证“通知”的路径(钥匙)后,15(稍后我会更新15使用匹配方法是正则表达式,但目前我正在努力执行这一简单的情况下):验证Firebase密钥
{
"rules": {
".write": true,
"notifications": {
"$year": {
".validate": "newData.val() === '/15'",
}
}
}
}
我测试在以下模拟器:
/notifications/15
数据我张贴:
{ "foo": "bar" }
的火力地堡模拟器回报:
Attempt to write {"foo":"bar"} to /notifications/15 with auth={"provider":"anonymous","uid":"a5e08499-c41d-47d0-9df4-64d9af802755"}
/:.write: "true"
=> true
/notifications/15:.validate: "newData.val() === '/15'"
=> false
Validation failed.
Write was denied.
答
如果你正在给/notifications/15
写一个值,那么newData.val()
就是那个值,而不是关键。
我不认为有一种方法来动态地测试密钥。
“我不认为有一种方法可以动态地测试密钥。”哦,我没有意识到,谢谢。 – SM79
$ key.matches(/^[0-9] + $ /)呢?验证密钥似乎是完全可能的。 – Kato
事实证明,密钥可以验证:http://stackoverflow.com/questions/32979432/validate-a-firebase-key-or-workaround/33021533 – SM79