Javascript 如何知道用户是否刚刚创建或已经存在于google signin和firebase web 9中?

Javascript 如何知道用户是否刚刚创建或已经存在于google signin和firebase web 9中?,javascript,firebase,firebase-authentication,Javascript,Firebase,Firebase Authentication,我在web版本9中使用firebase身份验证时遇到了一个问题,当使用Google登录时,新创建的用户(注册)和以前创建的用户(登录)之间没有明显区别,两者使用相同的代码库: import { getAuth, GoogleAuthProvider } from "firebase/auth" const auth = getAuth() const googleProvider = new GoogleAuthProvider() signInWithPop

我在web版本9中使用firebase身份验证时遇到了一个问题,当使用Google登录时,新创建的用户(注册)和以前创建的用户(登录)之间没有明显区别,两者使用相同的代码库:

import { getAuth, GoogleAuthProvider } from "firebase/auth"  

const auth = getAuth()  
const googleProvider = new GoogleAuthProvider()  

signInWithPopup(auth, googleProvider).then((result) => {
  const user = result.user
})  
我想区分新用户和现有用户,以确保在用户创建后向新用户询问更多信息。
我找到了一些使用firestore并检查数据库中是否有用户的解决方案,但我认为应该有一个更简单直接的解决方案。

我在stackoverflow上找到的其他解决方案适用于版本9之前的版本。

您可以使用
getAdditionalUserInfo
检查用户是否是新用户,如下所示:

import { getAuth, GoogleAuthProvider, getAdditionalUserInfo } from "firebase/auth"  

const auth = getAuth()  
const googleProvider = new GoogleAuthProvider()  

signInWithPopup(auth, googleProvider).then((result) => {
  const additionalUserInfo = getAdditionalUserInfo(result)
  // you can know if the user is new or not
  cons isNewUser = additionalUserInfo.isNewUser
  const user = result.user
})