Подход, который я использовал в прошлом, состоял в том, чтобы связать документ в выделенной коллекции 'пользователей' с идентификатором UID пользователя Firebase.
db.collection('users').doc(firebase.auth().currentUser.uid).set(...)
Затем в логике аутентификации я проверяюдля любых флагов, используемых для отметки статуса учетной записи пользователя;например, вы можете выполнить вход и т. д.
firebase.auth().onAuthStateChanged((user) => {
if (user) {
const userRecordRef = db.collection('users').doc(user.uid)
userRecordRef.get()
.then(doc => {
if (doc.exists) {
if (doc.data().onboardingStatus === 'new_user') {
root.$router.push('/onboarding')
}
...
})
.catch(...)
...
}
...
}
Правила безопасности Firestore должны использоваться для обеспечения того, чтобы пользовательские документы находились в правильном состоянии при каждом обновлении, поскольку это код на стороне клиента.