サンプル チャット アプリケーションを作成していますが、セキュリティ読み取りルールに問題があります。チャット アプリケーションに接続した後、ユーザーがメッセージを読めるようにするだけです。このために、メッセージにタイムスタンプ値を追加しました。ここで、このタイムスタンプ >= ユーザーがこのメッセージを取得できる実際のタイムスタンプの場合にのみ必要です。しかし、親から $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"
}
},
}
}