【发布时间】:2016-05-16 13:43:37
【问题描述】:
Parse 将在今年年底关闭,因此我决定开始使用 Firebase。我需要实现一个包含 3 个字段的注册过程:电子邮件、用户名、密码(电子邮件和用户名对于我的应用程序必须是唯一的)。
由于 Firebase 没有提供像 Parse 这样管理用户名的简单方法,因此我决定仅使用电子邮件/密码注册并保存一些额外的数据,例如用户名。这是我的用户数据结构:
app : {
users: {
"some-user-uid": {
email: "test@test.com"
username: "myname"
}
}
}
但是,我想做的是使用户名唯一并在创建帐户之前对其进行检查。 这些是我的规则:
{
"rules": {
".read": true,
".write": true,
"users": {
"$uid": {
".write": "auth !== null && auth.uid === $uid",
".read": "auth !== null && auth.provider === 'password'",
"username": {".validate": "!root.child('users').child(newData.child('username').val()).exists()"}
}
}
}
}
非常感谢您的帮助
【问题讨论】:
-
那么您希望在 Android 客户端上检查 Firebase 规则吗?
-
是的,如果firebase告诉我没有,我想先检查用户名是否被使用,然后创建一个帐户,否则只需要求用户选择另一个用户名
-
除了我对数据结构和安全规则的回答之外,这里有一些之前已经讨论过的问题:stackoverflow.com/questions/29970681/…、stackoverflow.com/questions/25294478/…、stackoverflow.com/questions/15910165/…、stackoverflow.com/questions/20260476/…
标签: android firebase firebase-security firebase-authentication