Firebase身份验证是否是首次登录

时间:2020-05-26 15:58:57

标签: firebase react-native firebase-authentication

我正在构建一个iOS应用并为其使用firebase。 所以我有几个问题。

这是我的代码段。

const metadata = auth.currentUser.metadata;
if (metadata.creationTime === metadata.lastSignInTime) {
    //this means it is a new user

    navigation.navigate('Welcome');
} else {
    // this means the user is existing already

    let lastSignInDate, currentDate;
    const lastSignInTimeUTCLocal = new Date(auth.currentUser.metadata.lastSignInTime);
    lastSignInDate = lastSignInTimeUTCLocal.getDate().toString();
    currentDate = new Date().getDate().toString();
    if (lastSignInDate === currentDate) {
      navigation.navigate('MainScreen');
    } else {
      navigation.navigate('Greeting');
    }
}

所以我要在这里实现

如果是新用户,请显示欢迎屏幕

如果没有,请每天显示一次问候,然后在主页上显示问候。

因此,对于同一天的第二次登录,它不会显示问候语,而只会重定向到主页。

我使用signInWithEmailAndPassword登录。 但是我注意到这会更改元数据的lastSignInTime,因此它总是重定向到主页。

我如何使其正常工作?

1 个答案:

答案 0 :(得分:0)

您将无法仅通过Firebase身份验证来实现。您将需要在数据库或其他持久性存储中记录一些有关用户登录行为的信息,并进行查询以根据用户的先前行为来确定显示什么。