Давайте рассмотрим систему, в которой каждый пользователь связан с одной или несколькими ролями, а каждая роль связана с одной или несколькими привилегиями доступа.Эта информация может быть кэширована для лучшей производительности API.Но тогда могут быть изменения в конфигурации пользователя и роли (например, может быть предоставлен новый доступ или текущий доступ может быть отозван), и они должны быть отражены в кеше.
Мы можем использовать токены доступа и обновлятьдля такой цели.Когда API вызывается с токеном доступа, сервер ресурсов проверяет кэш на наличие прав доступа.Если есть какие-либо новые права доступа, это не отражается сразу.Когда срок действия маркера доступа истекает (скажем, через 30 минут), и клиент использует токен обновления для создания нового токена доступа, кэш можно обновить, обновив информацию о правах доступа пользователя из БД.
Другими словами, мы можем перемещать дорогостоящие операции из каждого вызова API, используя токены доступа, в событие генерации токена доступа, используя токен обновления.