Как лучше сохранять токен доступа свежим?Должен ли я запускать асинхронное задание (например, cron), которое обновляет токен доступа каждые 30 минут для каждого соединения?
Не обязательно.Подождите, пока ваш вызов API не удастся.Проверьте правильность ответа, такого как «401 Unauthorized», который указывает на то, что ваш токен доступа признан недействительным / просроченКак только это произойдет, используйте токен обновления, чтобы обновить токен доступа.Если обновить токен не удалось, вам придется снова вернуться к нему и попросить пользователя снова войти в систему.
Жетон обновления может иметь различное время жизни.Это может быть от нескольких дней до нескольких месяцев.Например, посмотрите объяснение Google, в котором упоминается долгоживущие токены обновления и возможное истечение срока их действия .Также проверьте, как Azure AD упоминает о конфигурациях, связанных с временем жизни токена .
Таким образом, пользователь, не использующий приложение в течение нескольких дней (например, - оставьте его и вернитесь после выходных), может быть обработан посредством правильных конфигураций допустимости времени жизни токенов.Но помните об угрозах, которые могут возникнуть из-за долгоживущих неуправляемых токенов (например, из-за кражи токенов).