【问题标题】:Firebase delete, bolt permission configurationFirebase 删除,bolt 权限配置
【发布时间】:2017-04-28 12:34:29
【问题描述】:

我正在尝试使用 firebase.remove() 从 firebase 中删除一条记录,如下所示:

// inside deleteGame function
const promiseDeleteGame = firebase.child(`games/${game.id}`).remove();
return Observable.from(promise)
  .mapTo(deleteGameDone(game))
  .catch(error => Observable.of(deleteGameFailure(error)));

我的rules.bolt 文件配置如下:

isOwner(gameId) { auth.uid == root.games[gameId].ownerId }

path games/{gameId} is Game { 
  read() { true }
  create() { true }
  update() { true }
  delete() { isOwner(gameId) }
}

我总是收到错误:set at /games/{gameId} failed: permission_denied.

问题是因为我尝试删除的给定记录包含属性ownerId,因此我无法删除记录,这应该授予我删除记录的权限吗?

或者可能是因为 Game 对象有一个名为 registrations 的属性,它是用户 ID 及其信息的映射,而我无权更新 registrations 属性?

【问题讨论】:

    标签: javascript firebase firebase-realtime-database firebase-security


    【解决方案1】:

    我是 Firebase 螺栓的新手。 我建议您使用以下语法。

    delete() { auth != null && auth.uid == prior(this).ownerId }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-22
      • 2016-01-05
      • 2020-12-21
      • 1970-01-01
      • 2011-12-11
      • 1970-01-01
      相关资源
      最近更新 更多