我试图使用Firebase安全规则来防止在我的应用中发生一些不良情况。我此刻的结构是:防止Firebase中出现重复的用户名
"usernames": {
"twitter:123": "jack",
"google:456": "bob"
}
这里的问题是,我无法实现安全规则,使得第三用户(比如facebook:789
)不能进来,劫持用户名“鲍勃”和访问该用户的数据(我的数据按用户名排列)。
这种情况下接受的修复程序是什么?我试图扭转键/值对,它允许用户名唯一的:
"usernames": {
"jack": "twitter:123",
"bob": "google:456"
}
然而,因为这不强制UID的唯一性,任何用户都可以发送垃圾邮件的用户名 - 恶意facebook:789
可以采取任何用户名尚未采取,这将是一个PITA来解决。
有没有办法使用Firebase安全规则解决这个困境?或者是受信任的服务器的唯一答案?可信服务器仍然会出现可能的并发问题。