11

我目前正在使用firebase制作ionic app. 我正在使用firebase simple loginsocial authfacebook, twitter, email & password。身份验证完美运行,它$broadcastsauthed user. 但是,它似乎并没有在实际中创建用户firebase db。我想知道如何获得一直在authed使用我的app.

4

3 回答 3

14

对于它支持的大多数身份验证协议,Firebase 不会将用户数据存储在任何地方。即使对于它确实存储数据的协议(我只知道这样做的电子邮件+密码),它也会将此信息存储在您的应用程序无法访问的位置(尽管您可以在 Firebase 的仪表板中找到这些用户)。

引用Firebase 文档

它不会在您的 Firebase 中存储个人资料或用户状态。要保留用户数据,您必须将其保存到 Firebase。

大多数应用程序最终会做的是将用户列表保存在他们自己管理的 Firebase 中。因此,当用户首次使用应用程序进行身份验证时,它会在其下创建一个节点/users/<uid>,其中包含该用户的信息。

请参阅描述存储用户数据的 Firebase 文档的这一部分。

于 2015-02-26T15:12:01.323 回答
7

Firebase 不会在您的 Firebase 实例中存储配置文件或用户状态。要保留用户数据,您必须将其保存到 Firebase。

Firebase 提供多种身份验证服务

  1. 使用现有的社交登录提供商,例如 Facebook、Twitter、Google 和 GitHub。使用这些服务为您的用户提供了一个选项来访问您的应用程序,而无需创建新帐户。

  2. 使用内置支持使用电子邮件和密码登录。这需要由 Firebase 处理的注册和帐户创建。用户帐户信息存储在您的应用程序之外。

  3. 使用自定义身份验证来实现现有的服务器端身份验证、单点登录、遗留系统或基于第三方 OAuth 的服务(例如 Yahoo)。

一旦通过身份验证,Firebaseauth会向您的应用程序返回一个变量,您可以将其用于授权和访问控制。对于未经身份验证的用户,此变量为空,但对于经过身份验证的用户,它是一个包含用户唯一 ( auth.uid) 和可能有关用户的其他数据的对象。

如果您想保留其他用户信息,例如姓名和位置,则需要使用auth.uid它并将其与其他配置文件数据一起存储在 Firebase 中。

Firebase 在内部生成 JSON Web 令牌 (JWT) 并通过使用这些令牌调用 Firebase.loginWithCustomToken() 创建经过身份验证的会话。每个用户都被分配了一个 uid(一个唯一的 ID),它保证在所有提供者中都是不同的,并且对于特定的经过身份验证的用户永远不会改变。

于 2015-02-27T17:00:48.953 回答
3

user data for firebase authentication存储firebaseLocalStorageDbIndexedDB. _ 登录网站后,如果删除 firebaseLocalStorageDblogin user data for firebase authentication则全部删除,需要重新登录网站。

在此处输入图像描述

于 2021-09-05T17:34:26.573 回答