Angular 使用社交登录将firebase用户添加到用户数据库?

Angular 使用社交登录将firebase用户添加到用户数据库?,angular,firebase,firebase-realtime-database,firebase-authentication,Angular,Firebase,Firebase Realtime Database,Firebase Authentication,Firebase是否会自动将通过facebook等社交提供商登录的用户添加到Firebase身份验证/用户数据库 换句话说,如果Christine通过Facebook登录,firebase是否也会将她的电子邮件地址、名字等存储在身份验证/用户数据库中,如果她通过常规注册表单注册,她将存储在该数据库中?当用户向社交提供商登录firebase身份验证时,他们的配置文件自动存储在Firebase身份验证本身中。此信息(包括其)可通过Firebase身份验证SDK(包括服务器端)获得 Firebase数

Firebase是否会自动将通过facebook等社交提供商登录的用户添加到Firebase身份验证/用户数据库


换句话说,如果Christine通过Facebook登录,firebase是否也会将她的电子邮件地址、名字等存储在身份验证/用户数据库中,如果她通过常规注册表单注册,她将存储在该数据库中?

当用户向社交提供商登录firebase身份验证时,他们的配置文件自动存储在Firebase身份验证本身中。此信息(包括其)可通过Firebase身份验证SDK(包括服务器端)获得


Firebase数据库中不会自动存储任何数据。如果您想这样做,您可以自己轻松完成。

如果您谈论的是Firebase身份验证列表,那么可以。请参见此处=>

但是,如果您想在realtime或firestore数据库中保存一些用户数据,您必须自己保存。在我看来,最好的方法是使用Firebase函数,但您也可以在成功注册/登录后在客户机中这样做

这是登录后直接在客户端使用的函数的简化版本。我通常会添加一些自定义属性,如上次登录等

writeUserToDB(user: User) {
  this.db.object('users/'+ user.uid).valueChanges().take(1).subscribe( val => {
    let newUser = val == null ? user : val;      
    this.db.object('users/' + newUser.uid ).update(newUser)
  });
}
还有一些关于/users节点的基本规则

    "users": {
      "$user_id": {
        ".read": "$user_id === auth.uid",
        ".write": "$user_id === auth.uid"
     }

好的-那么只需将用户配置文件从身份验证中拉出来并保存到数据库中…您是否有任何指针提供有关如何进行此操作的提示?刚刚开始使用Firebase…请参阅以获取一些很棒的问题和答案。现在我称之为一些链接!谢谢你知道像Davio所说的那样备份或传输身份验证数据库是不是真的很困难吗?是否困难是主观的。下面是关于导入/导出用户的文档:非常棒-听起来我们必须联系客户服务部才能做到这一点,但现在我们可以在命令行上简单地做到这一点。开始对firebase印象越来越深刻。几乎太容易了:)。再次感谢所有的好提示!是-验证数据库。那么,如果有人通过facebook登录,他们的个人资料会添加到身份验证库中吗?我不想复制它。。。我假设我还可以备份和保存身份验证数据库,或者在需要时传输数据?是的,无论使用何种登录方法,所有用户都将添加到此数据库。关于此列表的备份或转移,我不确定这是一项直截了当的任务。我记得读到一些开发人员这样做,但他必须联系Firebase支持人员才能做到这一点。