0

我在我的项目中使用Firebase实时数据库,现在我使用的任何身份验证方法都是而不是,这意味着Firebase上的所有登录方法都会被禁用,并且Firebase数据库上也没有定义任何规则:如何知道哪个用户生成了Firebase事件?

{ 
    "rules": { 
    ".read": true, 
    ".write": true 
    } 
} 

我想实现一个协作的文本编辑应用程序,所以几个用户在同一时间可能会更新相同的文本。因此,在我的应用程序中,我正在观察由Firebase发送的相应文本编辑事件,因此可以保持工作在相同内容上的所有用户的文本同步。

我的问题是,当应用程序接收到文本编辑事件时,我怎么能知道谁(哪位用户)在Firebase上做了这一更改(我刚刚收到的事件是否是由于更改了文本由User1或User2等)。因为目前我知道有人对文本进行了修改(因为我收到了一个事件),但我不知道是谁做出来的。任何帮助?谢谢

任何一般指导将有所帮助。

回答

0

如果您希望识别用户而不要求他们登录,则您正在寻找Firebase's anonymous authentication。在Objective-C,这是简单的:

[[FIRAuth auth] 
signInAnonymouslyWithCompletion:^(FIRUser *_Nullable user, NSError *_Nullable error) { 
    // ... 
}]; 

然后你就可以识别用户使用:

[[[FIRAuth auth].currentUser].uid]; 
+0

嘿...弗兰克是,OP是问什么?我认为他们正在寻找更多的方法来了解当每个人都匿名时,哪些用户向Firebase写入了某些数据。换句话说 - 也许他们正在寻找一种方式来(自动)绑定写入特定用户的数据(例如名称)。在这种情况下,当写入数据时,需要使用标识用户的内容进行“标记”。所以子节点会包含/ updatedText:“new text”和/ userName:“Frank”。或者......我可能不会理解这个问题。 ;-) – Jay

+0

你可能是对的。我对我不清楚。如果你为这种方法写回答,那肯定会很好。 –

相关问题