0

を使用する".read": "auth != null"と、エラーなしで完了しref.on()た後に許可エラーが発生します。ref.auth()ユーザーがログインしている限り、読み取り権限を付与する適切な方法は何ですか?

セキュリティ ルール:

{
  "rules": { 
    ".read": "auth != null",
    ".write": "auth.admin == true"
  }
}

「on()」を実行する前に Firebase ref を返すコードは次のとおりです。

    ref: function(path) { var self = this;
      var ref = new Firebase(self.url + path);
      ref.auth(self.auth_token, function(err) {
        if (err && console) console.log("Firebase "+path+" login failed!");
        else if (console) console.log("Firebase "+path+" login succeeded.");
      });
      return ref;
    },
    bind: function(path, excludes) { var self = this;
      var collection = [];
      var ref = self.ref(path);
      ...
      var move_callback = function(data, prevId) { 
        $timeout(function() { moveItem(data, prevId); }); 
      }
      ref.on('child_added', move_callback);
      ref.on('child_changed', move_callback);
      ref.on('child_moved', move_callback);
      ref.on('child_removed', function(data) {
        $timeout(function() { removeItem(data); });
      });
      return collection;
    },

メインコントローラー:

$scope.list = $$firebase.bind("/data", []);

コンソールは言う

Firebase /data login succeeded. app.js:298
FIREBASE WARNING: on() or once() for /data failed: permission_denied firebase.js:33
4

1 に答える 1