0

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

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

你能帮我解决一下吗?提前致谢。

4

1 回答 1

0

在这两种情况下,您都应该使用 firebase 提供的 UID。所有形式的 Firebase 身份验证都提供此属性,因为这是 Firebase 识别您的用户的方式。如果您尝试将 firebase Auth 凭据保存到 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
    // ...
  })

于 2021-03-26T17:10:00.223 回答