小编Flo*_*oGz的帖子

Firebase android:使用户名唯一

Parse将在今年年底关闭,所以我决定开始使用Firebase.我需要实现一个包含3个字段的注册过程:电子邮件,用户名,密码(电子邮件和用户名对我的应用必须是唯一的).

由于Firebase没有提供像Parse那样管理用户名的简便方法,因此我决定只使用电子邮件/密码注册并保存一些其他数据,如用户名.这是我的用户数据结构:

app : {
    users: {
       "some-user-uid": {
            email: "test@test.com"
            username: "myname"
       }
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,我想要做的是使用户名唯一,并在创建帐户之前检查它.这些是我的规则:

{
    "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()"}
            }
        }
   }
}
Run Code Online (Sandbox Code Playgroud)

非常感谢您的帮助

android firebase firebase-security firebase-authentication

31
推荐指数
2
解决办法
2万
查看次数