Итак, я пришел к небольшому выводу, что в рамках SPA (одностраничного приложения) обычно дается неявное предоставление. Это означает, что токен обновления не предоставляется, поскольку нет способа надежно сохранить его в браузере. Только токен доступа. Токены доступа недолговечны; следовательно, если злоумышленник овладеет им, он может нанести урон только в течение определенного периода времени, а взломанные маркеры доступа легче обнаружить и устранить.
Поэтому мой подход будет заключаться в том, чтобы использовать localStorage и приложить некоторые усилия для предотвращения распространенных атак между сайтами (XSS). Что касается расширения chrome, Google предлагает API «chrome.identity», который утверждает, что надежно хранит токены, а также обеспечивает безопасный способ получения и обновления токенов. (источник: https://www.informationsecuritybuzz.com/articles/security-and-privacy-best-practices-on-building-a-chrome-extension/)
Таким образом, может показаться, что с помощью расширения Chrome вы можете поддерживать долгоживущий сеанс, но из-за несуществующей защиты SPA в реальном времени в браузере любой сеанс будет ограничен временем жизни самого токена доступа. Пользователь должен будет повторно пройти аутентификацию. Если вы используете социальную регистрацию, это будет довольно легко для пользователя.
Если кто-то увидит какие-либо проблемы с тем, что я здесь изложил, не стесняйтесь; в противном случае я отмечу этот вопрос как ответивший для дальнейшего ознакомления с другими, а также сделаю себя доступным в будущем для получения обновлений и вопросов, касающихся моего дальнейшего развития.