在v8中我是这样做的:
const userCredential = await firebase.auth().signInAnonymously();
console.log('is new user: ', userCredential.additionalUserInfo.isNewUser());
但是在V9中:
const userCredential = await SignInWithPopup(auth, googleProvider);
try {
userCredential.additionalUserInfo.isNewUser()
}
catch (e) {
console.log(e);
/* [!] TypeError: Cannot read properties of undefined (reading 'isNewUser') */
}
additionalUserInfo
在signin函数返回的UserCredential
对象上不存在。在V9中正确的方法是什么?
如果登录成功,您返回的UserCredentials
对象包含当前用户的user
属性。您可以通过比较其metadata
属性的creationTime
和lastSignInTime
来确定这是否是新用户。如果它们之间的间隔不超过几毫秒,则表示用户刚刚创建。