Firebase V9认证时如何判断用户是否为新用户?
Firebase V9 判断新用户的正确方式
在V9模块化版本中,UserCredential不再直接包含additionalUserInfo属性,需要通过getAdditionalUserInfo函数来获取用户的额外信息,包括是否为新用户的判断。
具体实现步骤:
- 从
firebase/auth导入所需函数:
import { signInWithPopup, getAdditionalUserInfo } from "firebase/auth";
- 执行登录操作后,调用
getAdditionalUserInfo传入userCredential对象:
const userCredential = await signInWithPopup(auth, googleProvider); const userInfo = getAdditionalUserInfo(userCredential); // isNewUser是布尔属性,无需加括号调用 console.log('is new user: ', userInfo.isNewUser);
关键注意点:
isNewUser是一个布尔属性,不是方法,所以不要像你V8代码里那样加括号调用(其实V8中它本身也是属性,之前的写法有误)。- 这个方法适用于所有登录方式(包括匿名登录、第三方登录等),只要登录流程返回
UserCredential即可使用。
内容的提问来源于stack exchange,提问作者vdegenne
相关产品推荐
相关产品推荐

