Как передать пользовательский uid со страницы входа на другую страницу в веб-приложении - PullRequest
0 голосов
/ 09 ноября 2019

Я вхожу в систему через firebase-auth, и мне нужно передать их пользовательский uid на перенаправленную страницу. Как можно передать user-uid?

Я пытался использовать документацию по аутентификации firebase, но не могу решить ее


loginForm.addEventListener('submit', (e) => {
 e.preventDefault();

    const email = loginForm['email'].value;
    const password = loginForm['password'].value;

    console.log(email, password);
    firebase.initializeApp(config);
    firebase.auth().signInWithEmailAndPassword(email, password)
        .then(cred => {


        if(email ==='admin@mombasa.com' && password ==='adminMomb') {
            window.location = './admin-map.php';
        }
            else if(email ==='admin@nairobi.com' && password ==='adminNai') {
                window.location = './admin-map.php';
            }
           else if(email ==='admin@eldoret.com' && password ==='adminEld') {
                window.location = './admin-map.php';
            }


           else firebase.auth().onAuthStateChanged(function(user) {

                    window.user = user;
                    console.log('logged in ', user);
                    window.location = './dailyreports.php';
                    console.log('logged in ', user);

            });

        }).catch(
        function(error) {
            // Handle Errors here.
            var errorCode = error.code;
            var errorMessage = error.message;
            // ...
            console.log(errorMessage, errorCode);
        }
    )
    ;


});

При переходе на следующую страницу я ожидал увидетьвывод пользовательского идентификатора в консоли, но он возвращает пустое значение

1 Ответ

2 голосов
/ 09 ноября 2019

Вместо передачи UID лучше выбрать состояние на следующей странице с помощью так называемого прослушивателя состояния аутентификации.

Как показано в документации по , получение текущего зарегистрированного пользователя:

firebase.auth().onAuthStateChanged(function(user) {
  if (user) {
    // User is signed in.
  } else {
    // No user is signed in.
  }
});

Не будет задержки при получении учетной записи таким образом на новой странице, поскольку Firebase SDK сможет восстановить состояние изинформация хранится в локальном хранилище.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...