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

你可能是對的。我對我不清楚。如果你爲這種方法寫回答,那肯定會很好。 –

相關問題