Angularjs 如何存储要验证的用户';是否使用Firebase简单登录电子邮件/密码?
在以下情况下,我有哪些选择:Angularjs 如何存储要验证的用户';是否使用Firebase简单登录电子邮件/密码?,angularjs,firebase,angularfire,Angularjs,Firebase,Angularfire,在以下情况下,我有哪些选择: (现有)管理员用户通过我的web应用创建新用户 新用户通过FirebaseSimpleLogin电子邮件/密码进行身份验证 如何将通过auth对象返回的用户数据与存储在/users/{{newUserId}的newUser数据相关联 现在我认为最简单的方法是使用用户的电子邮件作为唯一密钥,如下所示: function createUser(newUserInfo){ firebaseRef.$child('users/' + customerUserInfo
auth
对象返回的用户数据与存储在/users/{{newUserId}
的newUser数据相关联function createUser(newUserInfo){
firebaseRef.$child('users/' + customerUserInfo.email).$set(newUserInfo);
}
function firebaseSimpleLoginSuccess(auth){
var userInfo = firebaseRef.$child('users/' + auth.user.email);
}
但这并不像我希望的那样具有可伸缩性,因为这样就不允许用户更改他们的电子邮件,或将多封电子邮件与他们的帐户关联
还有别的办法吗
编辑:在firebase数组键不能包含特殊字符后实现,但原则仍然适用:清理电子邮件(例如
user@gmail.com
-->用户gmail com
),然后将其用作密钥。根据,身份验证后的身份验证
令牌有效负载包括一个唯一的数字id(id
)和一个包含该数字id但保证在Firebase简单登录提供程序中唯一的id(uid
)。使用这两个id之一存储用户数据将允许您处理对用户电子邮件的更改(即将进行简单登录)或者手动链接多个帐户凭据,而不转义任何电子邮件地址。Ack,我完全没有看到$createUser()
返回带有新用户的uid
的user
对象