Как вызвать что-то от сервисного работника в начале каждого сеанса? - PullRequest
0 голосов
/ 04 февраля 2020

Мне нужно сохранить токен проверки для пользователей, который проверяет, что они вошли в систему перед отображением уведомлений pu sh. Для этого я отправляю выборку на сервер, который возвращает токен.

В настоящее время я обновляю токен всякий раз, когда они входят или выходят из системы (определяя, когда запрашиваются страницы входа / выхода из системы), а также когда установлен сервисный работник.

Проблема в людях все еще может "выйти", очистив свои куки. Больше всего меня беспокоит то, что файлы cookie могут быть отключены или закрыты, когда люди закрывают свой браузер. Есть ли способ получить событие, когда кто-то впервые открывает мой сайт в сеансе? Я думал, что события установки, активации или регистрации могут быть такими, но все они, кажется, в большей степени основаны на том, когда загружается новый работник службы или на загрузку страницы.

self.addEventListener('fetch', function(e) {

    //user logged out
    if (e.request.url.includes('example.com/user/logout')) {
        idbKeyval.del('currentUserSession');
    }

    //user logged in
    else if (/^.*example\.com\/user\/login\/.*\/auth/.test(e.request.url)) {
        updateSessionUser();
    }
});

Есть идеи?

...