在Firebase上与朋友分享数据

时间:2016-06-01 22:33:13

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

我目前正在开发一款需要服务器后端才能在设备和朋友之间同步数据的应用。因此,在研究我是否应该创建自己的服务器(我不想这样做)的时候,我会对Firebase进行研究。

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

我的应用程序将在开始时在iOS上运行,但我想这与我的问题无关,是吗?

1 个答案:

答案 0 :(得分:4)

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

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

使用自定义身份验证,您可以创建自定义声明以授予不同的访问级别(例如admin,editor..etc)

示例......

"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