firebase.auth (). currentUser возвращает ноль, когда я повторно выполняю скрипт в node.js cli - PullRequest
0 голосов
/ 01 ноября 2019

Я создаю узел cli и использую в нем firebase auth

все работает нормально

есть команда для входа в систему, и когда пользователь выполняет ее, запрашивает учетные данные. после отправки я получаю пользовательский токен авторизации из API, а затем использую signinwithcustomtoken и получаю значение «currentUser», как и ожидалось.

Согласно этой странице Доступ к Firebase в вашем приложении iможно использовать Firebase Client SDK в приложении node.js для аутентификации

Проблема

, но когда я выполняю другую команду, чтобы показать данные профиля и в том, когда я пытаюсьaccess firebase.auth().currentUser возвращает null: (

Я не создаю сервер любого типа.

Я думаю, что firebase воссоздает новый экземпляр каждый раз, когда я запускаю команду, но почему не firebaseСвободный экземпляр в угловых?

1 Ответ

0 голосов
/ 01 ноября 2019

В развертываниях Node.js по умолчанию Постоянство состояния аутентификации режим является firebase.auth.Auth.Persistence.NONE по соображениям безопасности, как указано в нижней части раздела Изменение ASP . Это означает, что пользовательское состояние очищается всякий раз, когда вы закрываете свой скрипт.

Перед входом в систему с вашим токеном аутентификации вам нужно будет использовать следующий код, чтобы изменить режим в соответствии с браузером:

firebase.auth().setPersistence(firebase.auth.Auth.Persistence.LOCAL) // <-- this bit
  .then(function() {
    // Users will now be logged in until they explicitly log out
    return firebase.auth().signInWithCustomToken(token);
  })
  .catch(function(error) {
    // Handle Errors here.
    var errorCode = error.code;
    var errorMessage = error.message;
  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...