我正在使用 firebase 和 mongodb 地图集。我已经在 mongodb 用户集合中保存了社交媒体登录凭据,例如电子邮件、姓名、图片。但我无法保存电话号码和 uid 等电话登录凭据。当我使用社交登录登录应用程序时,我得到的 id 如下图所示。
但是当我使用电话号码登录应用程序时,我无法获取 ID。可能是未保存电话凭据的原因。如何在手机登录时获取 id 值。在 Mongodb 领域应用程序中,我们像这样存储值。
你能帮我解决一下吗?提前致谢。
在这两种情况下,您都应该使用 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
// ...
})