Можно ли асинхронно обновлять токен OAuth2 без блокировки всплывающих окон?
Я использую hello.js для реализации аутентификации на основе OAuth 2 (вход в Google) для одностраничного веб-приложения. Если пользователь не разрешил сайт в своем блокировщике всплывающих окон, то вызовы для обновления токена будут остановлены, если они были вызваны асинхронным или не инициированным пользователем действием.
Таким образом, пользователь, нажимающий кнопку удаления, которая проверяет и обновляет токен перед выполнением запроса на удаление, будет работать нормально. Тем не менее, запрос фонового опроса для проверки обновленных данных вызовет блокировщик всплывающих окон, если ему нужно обновить токен.
Чтобы проверить и обновить токены при необходимости, я обертываю все аутентифицированные запросы в этот метод входа hello.js, как описано в разделе обновления документации.
google.login({force: false}).then(function() {
google.api('me').then(fireRequest);
});
Является ли эта проблема ограничением библиотеки, моей реализации или потоков OAuth2 в целом? Как другие сайты обновляют токены OAuth во время действий, которые не являются синхронными событиями, инициированными пользователем?