我試圖使用Firebase安全規則來防止在我的應用中發生一些不良情況。我此刻的結構是:防止Firebase中出現重複的用戶名
"usernames": {
"twitter:123": "jack",
"google:456": "bob"
}
這裏的問題是,我無法實現安全規則,使得第三用戶(比如facebook:789
)不能進來,劫持用戶名「鮑勃」和訪問該用戶的數據(我的數據按用戶名排列)。
這種情況下接受的修復程序是什麼?我試圖扭轉鍵/值對,它允許用戶名唯一的:
"usernames": {
"jack": "twitter:123",
"bob": "google:456"
}
然而,因爲這不強制UID的唯一性,任何用戶都可以發送垃圾郵件的用戶名 - 惡意facebook:789
可以採取任何用戶名尚未採取,這將是一個PITA來解決。
有沒有辦法使用Firebase安全規則解決這個困境?或者是受信任的服務器的唯一答案?可信服務器仍然會出現可能的併發問題。