无法从firebase在mongodb中存储电话登录凭据

问题描述

我正在使用 firebase 和 mongodb 图集。我已经在 mongodb 用户集合中保存了社交媒体登录凭据,如电子邮件、姓名、图片。但我无法保存电话号码和 uid 等电话登录凭据。当我使用社交登录登录应用程序时,我得到如下图所示的 ID。

enter image description here

但是当我使用电话号码登录应用程序时,我无法获取 ID。可能是电话凭据未保存的原因。如何在手机登录获取 id 值。在 Mongodb 领域应用程序中,我们像这样存储值。

enter image description here

你能帮我解决这个问题吗?提前致谢。

解决方法

在这两种情况下,您都应该使用 firebase 提供的 UID。所有形式的 Firebase 身份验证都提供此属性,因为这是 Firebase 识别用户的方式。如果您尝试将 Firebase 身份验证凭据保存到 mongodb,请使用 UID。

您可以像这样找到社交身份验证提供商的 uid。

firebase.auth()
  .signInWithPopup(provider)
  .then((result) => {
    /** @type {firebase.auth.OAuthCredential} */
    var credential = result.credential;

    // This gives you a Google Access Token. You can use it to access the Google API.
    var token = credential.accessToken;
    // The signed-in user info.
    var user = result.user;
    const uid = user.uid
    // ...
  })

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...