кэш рабочего сервиса после проверки токена доступа - PullRequest
0 голосов
/ 30 апреля 2019

LS, через index.html новый пользователь может запросить токен доступа.Этот токен отправляется на его / ее электронную почту.Затем токен должен быть вставлен в поле токена, чтобы получить доступ к форме.Когда токен проверен, отображается форма.Чтобы предотвратить доступ к источнику формы перед вставкой правильного токена, я хочу, чтобы кэш происходил после проверки токена.Я использовал стандартную минимальную регистрацию, установку и активацию работника службы.

<?php     
if (exists_token($_COOKIE['session_token'], 'sessions')){
      readfile('form.html');
    }
....
?>

Как я могу отложить кэширование до тех пор, пока токен не будет проверен, когда будет обработан файл form.html?

1 Ответ

0 голосов
/ 01 мая 2019

Полагаю, вам нужно написать какую-то собственную логику в скрипте Service Worker.Вы можете общаться с SW из JavaScript страницы, используя window.postMessage.Используя это, вы сможете не кэшировать то или иное по умолчанию, а затем, когда ваши условия будут выполнены, сообщить SW, что кэширование может происходить через postMessage.

Однако я не уверен в вашем подходеэто мудро.Что произойдет в будущем, если срок действия токена истечет, а страница станет кешем SW?Для этого вам нужно написать собственный код удаления кеша.

Я не знаю логику вашего приложения, но, возможно, вы всегда можете визуализировать форму и скрыть ее от JS или использовать PHP / CSS на основе проверки токенастатус или что-то.

...