【问题标题】:Share data with friends on Firebase在 Firebase 上与朋友分享数据
【发布时间】:2016-06-01 22:33:13
【问题描述】:

我目前正在开发一个需要服务器后端来在设备和朋友之间同步数据的应用。因此,在研究是否应该制作自己的服务器(我不想这样做)时,我偶然发现了 Firebase。

我还没有弄清楚公共数据是怎样的。根据我的理解,我发送的任何内容都可以被我的应用程序的每个用户看到。我看到您可以定义诸如“用户需要登录”之类的规则,但是我可以指定某个孩子应该只对创建它的用户可见吗?然后,有没有办法邀请其他用户在那个孩子上进行协作?所以现在只有创建者和受邀用户可以看到那个孩子?

我的应用一开始会在 iOS 上运行,但我想这与我的问题无关,是吗?

【问题讨论】:

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


    【解决方案1】:

    是的,您可以这样做,您可以设置安全规则以仅允许具有特定 UID(firebase 用户 ID)的用户写入或读取此示例中的数据...

    "users": {
      "$uid": {
        ".read": "auth != null && auth.uid == $uid"
      }
    }
    

    还可以通过自定义身份验证创建自定义声明以授予不同的访问级别(例如管理员、编辑器..等)

    例子……

    "frood": {
      // A towel is about the most massively useful thing an interstellar
      // hitchhiker can have
      ".read": "auth.hasEmergencyTowel === true"
    }
    

    对于邀请部分..您还可以通过使用子节点作为参考来授予权限,如本例中...

    ".read": "data.child(auth.uid).exists()",
    

    在最后一种情况下.. 如果请求的数据路径有一个子键,该子键等于尝试访问它的客户端的 uid,则该信息将能够读取数据,

    所有详细信息都在这里:

    https://firebase.google.com/docs/database/security/user-security#section-revisiting-advanced-example

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-08-10
      • 2013-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多