0

サンプル チャット アプリケーションを作成していますが、セキュリティ読み取りルールに問題があります。チャット アプリケーションに接続した後、ユーザーがメッセージを読めるようにするだけです。このために、メッセージにタイムスタンプ値を追加しました。ここで、このタイムスタンプ >= ユーザーがこのメッセージを取得できる実際のタイムスタンプの場合にのみ必要です。しかし、親から $msgId (プッシュによって作成された) にアクセスできないため、これは機能しません。ここに私の rules.json があります:

{
  "rules": {
    ".read": false,
    ".write": false,
    "chat": {
      ".write": false,
      ".read": false,

      "message": {
        ".write": false,
        ".read": "data.child($msgId).child('timestamp').val()  == now",

        "$msgId": {
          ".write": true,
          ".validate": "newData.hasChildren(['name','text','timestamp']) && newData.child('timestamp').val() == now"
        }

      },
  }
}
4

1 に答える 1