Как кэшировать токен авторизации с помощью chrome.identity.launchWebAuthFlow? - PullRequest
0 голосов
/ 16 мая 2018

Я использую chrome.identity.launchWebAuthFlow метод для запуска генерации токена OAuth2 с нашего сервера OAuth2.

В документации Identity API указано, что для аутентификации пользователя есть два доступных метода: getAuthToken и launchWebAuthFlow.Мы используем последнее, потому что, как указано в документации:

Если ваше приложение использует свой собственный сервер для аутентификации пользователей, вам нужно будет использовать launchWebAuthFlow.

Мыизо всех сил, чтобы кэшировать результаты.Читая документацию getAuthToken, кажется, что происходит интеллектуальное кэширование.

Chrome ловит ответ и сохраняет access_token и renew_token в браузере (отображается здесь: chrome://identity-internals/).Chrome запрашивает access_token к серверу OAuth только , когда срок действия access_token истек.

Однако, используя launchWebAuthFlow, мы изо всех сил пытаемся использовать Chrome Cache, и он каждый раз вызывает наш OAuth-сервер.

Кто-нибудь знает, как кэшировать результат с помощью этого метода API?

1 Ответ

0 голосов
/ 26 июля 2018

getAuthToken относится только к аутентификации с помощью собственного API Google, если вы хотите сделать подобное самостоятельно, вам придется реализовать это самостоятельно.

Просто используйте chrome.storage для хранения входящих учетных данных и когда онииспользуется, затем запускает только launchWebAuthFlow, если прошло достаточно времени, в противном случае, в любом случае, выполните вызов извлечения, а если он возвращается без проверки подлинности, обновите свой токен

...