如何知道用户是刚刚创建还是已经存在 google signin 和 firebase web 9?

埃尔迈迪

我在对 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
}) 

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用 Google SignIn 的 Firebase WebApp 仅适用于特定域和特定用户

Google SignIn拒绝使用Firebase

如何确定用户之前是否已使用 google firebase signin 登录

如何同时使用Polymer的google-client-loader和google-signin?

Firebase GoogleSignIn.signIn() 阻止用户交互

react-native-google-signin和android.support.v4.net不存在错误

google-signin不返回用户信息

如何检查用户是否已经使用Google登录和Firebase Auth登录以检索其数据?

实时数据库和 Firestore Firebase web v9 的导入查询

如何在 Firebase 9 中管理 GoogleAuthProvider、signInWithEmailAndPassword 和 setPersistence?

为什么安装Google SignIn SDK会安装Firebase-可可豆荚

Google SignIn和OpenId Appauth之间的主要区别是什么

Firebase Google Auth Web JS

Flutter中如何区分firebase email auth用户和firebase google auth用户?

Google+ Firebase邀请iOS9

pod“ Google / SignIn”与pod“ GoogleSignIn”

iOS 9 ATS和Firebase REST

Firebase Auth和Google日历

Firebase 9 Web:如何獲取存儲文件的下載 url?

如何使用 reactjs 將圖像上傳到 Firebase web v9

iOS和Google Firebase-如何执行通知操作

如何在Google Spreadsheet和Firebase Storage之间进行读写?

如何在 Firebase 9 模块化中使用 Firestore 查询和实时数据

如何在 firebase auth web 中存储用户名和 photourl

如何使用 js (web) 在 firebase 中存储和更新用户数据?

如何使用重定向模式(无弹出窗口)从 Google Signin 获取个人资料信息?

如何使用Typescript在Angular 2中用Google实现SignIn

如何让 IntelliJ UE 和 Tomcat 9 运行我的 Web 应用程序?(苹果系统)

Firebase 9(模块化 sdk web)替换 fieldPath