В моем приложении, когда пользователь входит в систему, я использую firebase.auth для аутентификации пользователя на основе адреса электронной почты / пароля, введенного пользователем:
firebase.auth().signInWithEmailAndPassword(userInputs.email.value, userInputs.password.value)
Затем я отправляю его в состояние избыточности, а также устанавливаю полученные localId и idToken в локальном хранилище:
localStorage.setItem('token', response.user.qa);
localStorage.setItem('localId', response.user.uid);
Когда пользователь закрывает окно приложения, а затем снова открывает приложение, localId и idToken по-прежнему устанавливаются в локальном хранилище, но для повторной аутентификации мне нужно указать адрес электронной почты и пароль. Можно ли выполнить аутентификацию с помощью localId / idToken, или я должен сохранить электронную почту / пароль в localStorage вместо сохранения двух токенов?
После проверки подлинности пользователя:
var user = firebase.auth().currentUser;
console.log(user);
Я получаю «ноль».
Кажется, что я должен войти, даже если у меня уже есть localId, без входа у меня нет доступа к базе данных.
Кроме того, очевидно, что мои правила базы данных предоставляют доступ к БД только аутентифицированным пользователям:
{
"rules": {
".read": "auth != null",
".write": "auth != null"
}
}
Заранее спасибо!