权限被拒绝 firebase.push()

Permission denied firebase.push()

我在 java 中使用 Firebase。我曾经通过

添加数据
firebaseRef.child("users").push().setValue(user);

我的 user 是来自 User.class 的对象,具有以下属性

String name;
String id;

当我向数据添加验证以接受 ID 等于密钥的输入时 id === 'secret id' 如下

"user": {
    ".read": true,
    ".write": true,
    ".validate": "newData.hasChild('id')",
    "id": {
        ".validate": "newData.val() === 'secret id'"
    }
}

它显示我的权限被拒绝,我根据他们的文档尝试了很多案例,但我得到了同样的权限被拒绝。
有什么建议吗?

问题已解决,Firebase.push() 生成了新的 ID,因此 newData 不再引用它,我创建了一个变量来表示该 ID,以便我可以正常访问我的数据

"user": {
    "$key": {
        ".read": true,
        ".write": true,
        ".validate": "newData.hasChild('id')",
        "id": {
            ".validate": "newData.val() === 'secret id'"
        }
    }
}