2016-12-15 52 views
1

我使用电子邮件/密码,像这样鉴别:Firebase身份验证(电子邮件/密码)如何设置用户的uid?

firebase.auth().createUserWithEmailAndPassword(email, password).catch(function(error) { 
// Handle Errors here. 
}); 

而听这里权威性:

firebase.auth().onAuthStateChanged(function(user) { 
    if (user) { 
    // User is signed in. 
    console.log(user); 
    } else { 
    // No user is signed in. 
    console.log("Not signed in"); 
    } 
}); 

工作正常。在检查auth返回的用户对象时,uid是一个随机字符串,当我创建帐户时是否有设置此uid的方法?例如,uid =“someUserName”?

感谢

回答

1

火力地堡认证并不像数据库,在那里你可以添加属性和这样。它为你处理UID等。您可以执行的操作是在您的Firebase数据库中添加一个用户目录,并在其中存储其他信息(例如用户名),并以UID作为密钥。

下面是一个例子:
users

如果你要经常使用它,它可能是一个好主意,去到你的数据库的规则,并在此用户名添加索引:

rules

+0

我明白了。我想这样做,因为如果我有一些$用户路线,我想这样做:auth.uid === $ user。我怀疑你可以做一些安全规则检查,如果密钥等于auth.uid? – shell

相关问题