Проблема при использовании firebase.auth (). OnAuthStateChanged на двух страницах - PullRequest
0 голосов
/ 13 июля 2020

У меня небольшая проблема с двумя html страницами, которые раньше работали.

Во-первых, у меня есть страница входа (login. html), содержащая такой код:

firebase.auth().onAuthStateChanged(function(user) {
  if (user) {
    // User is signed in.
    window.open("main.html",'_self');
  } else {
    // No user is signed in.
    prompt for login ....
    ......
  }
});

Во-вторых, у меня также есть эта страница (main. html), содержащая такой код:

firebase.auth().onAuthStateChanged(function(user) {
  if (user) {
    // User is signed in.
    do serious work ....
    ......
  } else {
    // Let us double check:
    let theUser = firebase.auth().currentUser;

    if (!theUser) {
        // No user is signed in.
        window.open("login.html",'_self');
    }
    // We need some patience :)
    ......
  }
});

После входа пользователя в систему все должно быть go в main.html; и вот как это работало. Но теперь по неизвестной причине; когда я вхожу в систему, даже несмотря на то, что я предоставил свои учетные данные, поток переходит в main. html (как и должно), но сразу же возвращается для входа в систему. html.

Я смог проверить что блок (в основном. html):

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

не определяет меня как вошедшего в систему. Почему?

PS Я проверил, что мой домен добавлен в список авторизованных доменов в консоли Firebase.

1 Ответ

0 голосов
/ 15 июля 2020

Я столкнулся с той же проблемой. Я сузил его до Chrome. Кажется, что Chrome не может сохранять куки, когда это так (я проверил настройки). Может быть проблема с недавним обновлением Chrome? Просто в качестве проверки работоспособности попробуйте его на Firefox и дайте мне знать, работает ли это. Это сработало для меня.

ОБНОВЛЕНИЕ: это то, что я получаю, когда консоль регистрирую ошибку

{code: "auth/web-storage-unsupported", message: "This browser is not 
supported or 3rd party cookies and data may be disabled.", a: null}

ОБНОВЛЕНИЕ 2: Как ни странно, я отключил файлы cookie, попробовал, но ничего не вышло. Повторно разрешил куки (как было изначально), и теперь он работает. Я бы посоветовал зафиксировать эту ошибку и предложить пользователям проверить настройки своего браузера. Я сделаю это в своем приложении.

...