gpt4 book ai didi

firebase - 如何使用 Firebase 实现协作者邀请?

转载 作者:行者123 更新时间:2023-12-04 15:44:36 40 4
gpt4 key购买 nike

我正在开发一个带有 firebase、angular 和 angularfire 的应用程序。我想实现一个
“邀请协作者”功能与 Firebase 本身实现协作的方式大致相同——也就是说,应用程序用户可以输入电子邮件地址来邀请协作者,协作者将发送电子邮件并生成“inviteToken”,就像邀请协作者进入一样火力基地本身。
我知道安全规则(限制合作者访问)和架构设计(一个/collaborators 'folder' ?)是一方面,可以使用 native firebase 和 angular 来完成。我的问题是如何最好地实现邀请电子邮件和“inviteToken”?实现这种邀请功能的最方便的方法是什么?可以使用 native Firebase 完成吗?或者是否需要实现单独的服务器端代码(nodejs?)?也许 firebase 团队的某个人可以根据 firebase 本身如何实现协作来发表意见。

最佳答案

您可以通过散列要与其共享特定数据的用户的电子邮件地址并将其存储在权限字段下来实现协作。

例如,让我们从“user1”拥有的路径/items/item1 开始:

{
"items": {
"item1": {
"data": "foobar",
"permissions": {
"user1": true
}
}
}
}

您可以为数据设置安全规则,如下所示:
{
"rules": {
"items": {
"$item": {
".read": "data.child('permissions').hasChild(auth.uid)",
".write": "data.child('permissions').hasChild(auth.uid)"
}
}
}
}

现在,当“user1”想要与“user2”共享“item1”时,他们只需写入值“user2”并在权限键下将其设置为true。您可以将“权限”键的结构扩展为您想要的粒度(例如:协作者只能读取,但所有者可以读取和写入等)

例如,在实践中,您可能希望使用用户电子邮件地址的哈希值。另请查看 Simple Login 以获取一种对您的用户进行身份验证的简单方法(一旦通过身份验证,上述安全规则中使用的 auth 变量将自动为您设置)。

关于firebase - 如何使用 Firebase 实现协作者邀请?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21520514/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com