似乎唯一可以更改的是密码(通过auth.changePassword())。如何让用户更改他们的电子邮件地址或显示名称?
发布于 2013-12-18 18:08:15
firebase对象非常简单,但它将提供用户身份验证到您的系统时生成的用户id。然后,您将获取此用户id并将其映射到用户位置,在该位置您可以存储其他信息,如显示名称。
例如,在用户经过身份验证并拥有具有id值的auth对象之后,您可以这样做:
new Firebase('https://your_fb_url.firebase.io').child('users/'+id).set({email: email, name: name}, function(err) {})您可能希望在该位置上设置读/写规则,以便只允许经过身份验证的用户查看并进行更改。类似于:
{
"rules": {
"users": {
"$user": {
".read": "$user == auth.uid",
".write": "$user == auth.uid",
}
}
}
}2015年12月6日-更新-下文已过时
至于更改实际登录电子邮件(对于Firebase简单登录Web),我不太确定。我知道他们提供了一个更改密码方法,但我还没有看到任何关于更改登录/电子邮件方法的文档。
firebase简单密码的底层代码似乎不包括更改与帐户关联的登录电子邮件地址的任何方法。changePassword方法最终使用电子邮件、旧密码和新密码对/auth/firebase/update执行jsonp调用。
我不想建议使用removeUser/createUser的组合来删除旧帐户,创建一个新帐户,并更新应用程序中的任何用户id关联--但我没有看到一个简单的"changeEmail“方法。remove/create路由将要求用户再次输入他们的密码--尽管这是现在更新登录的一种非常常见的做法。
6/12/2015 -更新-新API
Firebase已经不再使用Firebase简单登录作为一个单独的模块,现在核心Firebase 2.x库已经有了与身份验证相关的方法。包括更改用于authWithPassword方法的电子邮件帐户的方法。
https://stackoverflow.com/questions/20640662
复制相似问题