Можно кешировать все в сервис воркере. Когда вам нужно отобразить различный контент для аутентифицированного пользователя и неаутентифицированного пользователя, вы можете отобразить это по мере необходимости либо в коде пользовательского интерфейса, либо даже в сервисном работнике.
Типичным примером может быть отображение / скрытие логина, выход и ссылка на профиль в шапке. Все это можно сделать с помощью нескольких строк кода во время загрузки страницы. Это в основном примеры classList. [Add | remove | toggle]. В профиле может использоваться простой шаблон и установка внутреннего HTML оболочки. В конце концов, это не так уж и сложно, я все время так делаю для приложений.