firebase在哪里保存简单的登录用户?

时间:2015-02-26 05:50:52

标签: firebase firebasesimplelogin rest-firebase

我目前正在使用firebase制作ionic app。我对firebase simple loginsocial auth)使用facebook, twitter, email & password。身份验证工作正常,$broadcasts authed user。但是,它似乎无法在实际的firebase db中创建用户。我想知道如何使用authed获取app的用户。谢谢,非常感谢您的帮助:)。

2 个答案:

答案 0 :(得分:12)

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

引用Firebase documentation

  

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

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

请参阅Firebase documentation that describes storing user data的此部分。

答案 1 :(得分:6)

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

Firebase提供了多个authentications services

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

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

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

  4. 经过身份验证后,Firebase会向您的应用程序返回一个变量auth,您可以将其用于authorization and access control。对于未经身份验证的用户,此变量为null,但对于经过身份验证的用户,此变量是包含用户唯一(auth.uid)的对象以及可能包含该用户的其他数据。

      

    如果您想要保留其他用户信息,例如姓名   和位置,然后你需要使用auth.uid并将其存储在你的   带有其他个人资料数据的Firebase。

    在内部,Firebase会生成JSON Web令牌(JWT)并通过使用这些令牌调用Firebase.loginWithCustomToken()来创建经过身份验证的会话。为每个用户分配一个uid(唯一ID),保证在所有提供商之间保持不同,并且永远不会为特定的经过身份验证的用户进行更改。