【问题标题】:Get username in Firebase authData在 Firebase authData 中获取用户名
【发布时间】:2016-01-05 20:12:42
【问题描述】:

我在 node.js 后端使用 Firebase 进行身份验证。
经过身份验证后,Firebase 检索到的数据是这样的:

{
  auth: {
    provider: 'password',
    uid: '1234'
  },
  expires: 1452072779,
  token:'token',
  uid: '4567',
  provider: 'password'
}

但是我无法获得 用户名。不知道有没有办法获得?

【问题讨论】:

  • 我已经有一段时间没有使用它了,但我想您正在寻找authData.uid - 您可能会发现它有用吗? - firebase.com/docs/web/guide/user-auth.html
  • 不是真的,我想收到电子邮件,因为每个用户都有一个电子邮件地址。
  • 您是否使用自定义身份验证提供程序并管理您自己的令牌或电子邮件和密码身份验证
  • 首次登录时,用户使用电子邮件和密码进行身份验证,并在本地存储令牌。对于所有其他请求,我使用令牌使用自定义身份验证。
  • 使用令牌进行身份验证时,您无法从身份验证数据中获取电子邮件。使用电子邮件和密码登录时,可以。 Myabe 有一个将电子邮件保存在数据库中的想法吗?

标签: node.js firebase


【解决方案1】:

在Android API中,有一个叫做getProviderData()的方法,您可以执行以下getProviderData().getEmail(),但在Javascript API中似乎没有这样的事情......有人可以确认吗?

【讨论】:

  • 在 javascript 中,您可以使用 ref.getAuth().password.email 获取电子邮件(使用电子邮件和密码登录时)。来源:firebase.com/docs/web/guide/login/password.html
  • 谢谢,我很困惑,因为我正在使用 Facebook 身份验证进行测试,而 Facebook 凭据不显示电子邮件地址。
【解决方案2】:

由于您在第一次登录时使用电子邮件和密码,然后使用令牌登录,您可以将用户的电子邮件存储在您的 firebase 本身中,这样即使您使用令牌登录也可以使用 uid 获取它。

https://www.firebase.com/docs/web/guide/user-auth.html#section-storingHow do I link each user to their data in Firebase? 为例。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-27
    • 2021-10-08
    • 2021-08-03
    • 2020-10-05
    • 2019-05-28
    • 1970-01-01
    相关资源
    最近更新 更多