Javascript 如何为一对一聊天应用编写firestore规则?
我使用firebase和firestore为一个网站制作了一对一聊天应用程序。现在我想为同样的问题编写firebase firestore规则。应用程序是这样工作的……首先,如果用户是sandeyshc@gmail.com然后用户获取聊天ID和好友Gmail…然后用户使用聊天ID在messages选项卡中进行检查,并获取所有与聊天相关的详细信息。现在我想为这个应用程序实现firestore规则。如何实施Javascript 如何为一对一聊天应用编写firestore规则?,javascript,reactjs,firebase,google-cloud-firestore,firebase-security,Javascript,Reactjs,Firebase,Google Cloud Firestore,Firebase Security,我使用firebase和firestore为一个网站制作了一对一聊天应用程序。现在我想为同样的问题编写firebase firestore规则。应用程序是这样工作的……首先,如果用户是sandeyshc@gmail.com然后用户获取聊天ID和好友Gmail…然后用户使用聊天ID在messages选项卡中进行检查,并获取所有与聊天相关的详细信息。现在我想为这个应用程序实现firestore规则。如何实施 解决这一问题的最佳方法是结合使用firestore规则和云功能 首先,两个用户应该在不同的
解决这一问题的最佳方法是结合使用firestore规则和云功能 首先,两个用户应该在不同的位置存储相同的聊天记录。 使用firestore规则,您应该限制每个用户只更改自己的聊天,并且只能在聊天中编写自己的消息 当他编写自己的消息时,应触发一个云函数,该函数向其他用户发送推送通知,并使用云函数中的管理员权限将该消息写入其他用户的聊天室 这样,两个用户在不同的位置进行相同的聊天。你也可以通过让他们访问一个单独的聊天,但是在将来考虑一个用户可以删除聊天或消息的用例。您可能不希望一个用户可以删除另一个用户的消息 还有一个重要注意事项:避免将用户保存在
电子邮件下。您应该始终将它们存储在应用程序身份验证用户Uid下。电子邮件中可能包含不支持作为数据库密钥的字符
,将来使用该电子邮件可能会出现其他不同的错误
下面是react和firebase开发的开源聊天应用程序的一个示例。它使用实时数据库,但您可以轻松地重用该概念。您可以在那里看到函数是如何编写的,以及如何在前端使用它。您可以在codesandbox上运行它吗?我在那边遇到了一个错误