我正在使用firebase + angularjs应用程序,我正在使用简单的电子邮件和密码验证,它正常工作.
我只是想知道我是否可以在firebase email + password auth正在使用的用户表上添加额外的用户数据,就像我想添加有关用户的计费信息和其他详细信息而无需在firebase上创建额外的节点/表来存储这些额外的数据.
firebase angularfire firebasesimplelogin firebase-authentication
Firebase createUser()方法需要一个电子邮件和密码字段,但是如果我还想让用户使用类似于Snapchat,Instagram,StackOverflow等的自定义用户名呢?是否有任何方法可以修改现有方法以接受该字段,或者我是否需要手动推送和管理此信息,如果是这样的话?
这是我第一次尝试存储所需的用户信息:
Firebase ref = new Firebase(firebaseURL);
ref.createUser(email, password, new Firebase.ValueResultHandler<Map<String, Object>>() {
@Override
public void onSuccess(Map<String, Object> result) {
System.out.println("Successfully created user account with uid: " + result.get("uid"));
//Sign user in
Firebase ref = new Firebase(firebaseURL);
ref.authWithPassword(email, password, new Firebase.AuthResultHandler() {
@Override
public void onAuthenticated(AuthData authData) {
System.out.println("User ID: " + authData.getUid() + ", Provider: " + authData.getProvider());
//Save user info
Firebase userRef = new Firebase(firebaseURL + "Users/");
User user = new User(username, authData.getUid());
userRef.setValue(user);
Run Code Online (Sandbox Code Playgroud)
这是好习惯吗?我想用存储用户名的UID可以帮助我将来处理更改等.另外,我应该实现updateChildren() …
android firebase firebase-authentication firebase-realtime-database
我想向Firebase用户对象添加属性.该用户文档说我可以用火力地堡实时数据库只存储附加属性.
我不确定这在实践中如何发挥作用.
以下在实践中意味着什么?
您无法直接向Firebase用户对象添加其他属性; 相反,您可以将其他属性存储在Firebase实时数据库中.
我把它解释如下:
"你不能修改FIRUser对象的属性,但你可以将它与其他对象结合起来"
我发现了以这种方式插入的set函数文档:
var userRef = ref.child("users");
userRef.set({
newfield: "value"
});
Run Code Online (Sandbox Code Playgroud)
这是一种明智的做法吗?
database-design firebase firebase-authentication firebase-realtime-database