Javascript 如何在react firebase ui中查找用户是否首次登录?
我想知道用户是第一次登录还是已经登录,以便我可以将用户数据存储在firestore中以供进一步使用。我使用的是自动生成用于身份验证的UI。如果用户是否首次登录,则返回的数据不具有该值。下面是代码Javascript 如何在react firebase ui中查找用户是否首次登录?,javascript,reactjs,firebase,firebase-authentication,Javascript,Reactjs,Firebase,Firebase Authentication,我想知道用户是第一次登录还是已经登录,以便我可以将用户数据存储在firestore中以供进一步使用。我使用的是自动生成用于身份验证的UI。如果用户是否首次登录,则返回的数据不具有该值。下面是代码 const uiConfig = { signInFlow: "popup", signInOptions: [ firebase.auth.GoogleAuthProvider.PROVIDER_ID, firebase.auth.Ema
const uiConfig = {
signInFlow: "popup",
signInOptions: [
firebase.auth.GoogleAuthProvider.PROVIDER_ID,
firebase.auth.EmailAuthProvider.PROVIDER_ID,
],
signInMethod: firebase.auth.EmailAuthProvider.EMAIL_LINK_SIGN_IN_METHOD,
forceSameDevice: false,
callbacks: {
signInSuccessWithAuthResult: () => false,
},
};
useEffect(() => {
firebase.auth().onAuthStateChanged((user) => {
console.log("auth state changed");
console.log(user);
});
}, []);
// The UI part
<StyledFirebaseAuth
uiConfig={uiConfig}
firebaseAuth={firebase.auth()}
/>
const uiConfig={
signInFlow:“弹出”,
签署:[
firebase.auth.GoogleAuthProvider.PROVIDER\u ID,
firebase.auth.EmailAuthProvider.PROVIDER\u ID,
],
签名方法:firebase.auth.EmailAuthProvider.EMAIL\u链接\u登录\u方法,
forceSameDevice:false,
回调:{
SignInsessWithAuthResult:()=>false,
},
};
useffect(()=>{
firebase.auth().onAuthStateChanged((用户)=>{
log(“身份验证状态已更改”);
console.log(用户);
});
}, []);
//用户界面部分
一切正常,但如果用户是否首次登录,我无法获取数据。帮助我。当用户首次注册时,您可以在您的登录方法中检查
user.additionalUserInfo.isNewUser
,其中user
是登录凭据
您还可以检查(不言自明)
我相信它也会出现在onAuthStateChanged
中的用户
对象中
user.metadata.creationTime === user.metadata.lastSignInTime
你能告诉我用户.additionalUserInfo.isNewUser的确切位置吗@一些特别的人。它不在onAuthStateChanged中返回的对象中。我认为应该从ui选项中的
SignInsessWithAuthResult
中检索它
user.metadata.creationTime === user.metadata.lastSignInTime