после того, как я успешно вошел в свое приложение с помощью Firebase, я хочу сохранить кучу информации (например, электронную почту пользователя, идентификатор пользователя, имя пользователя ...) и использовать ее в своем приложении. Лучший способ, который я нашел для этого, - использовать Ionic Storage.
Теперь при первом входе в систему работает нормально, но если я выйду из системы и войду с другим пользователем, информация о первом пользователе будет отображаться вместо нового. Обратите внимание, что я очищаю все свое хранилище, когда пользователь нажимает кнопку выхода. Мой код:
Проверка подлинности (защита): Я снова проверяю состояние проверки подлинности пользователя после входа в систему.
return this.AFauth.authState.pipe(map(auth => {
if (auth !== null && auth !== undefined) {
this.saveUserInStorage(auth);
return true;
} else {
this.router.navigate(['/home']);
return false;
}
}))
Сохранение информации Firebase в хранилище
saveUserInStorage(auth) {
this.storage.ready().then(() => {
this.storage.clear(); //cleaning again just in case...
this.storage.set('user_uid', auth.uid);
this.storage.set('user_name', auth.displayName);
this.storage.set('user_email', auth.email);
this.storage.set('user_photoUrl', auth.photoUrl);
}).catch(err => {
console.log('no pudimos guardar');
});
}
Функция выхода из системы
logOutUser() {
firebase.auth().signOut().then(result => {
// after user hits logout, I erase my storage
this.storage.remove('user_email');
this.storage.clear();
this.router.navigate(['/home']);
}).catch(error => {
console.log(error);
// An error happened.
});
}
Мне нужно перезагрузить страницу, чтобы увидеть, как последний пользователь вошел в систему.