Создание нового токена для серверной стороны для каждого запроса не имеет особого смысла, потому что серверная сторона уже имеет полный доступ с момента использования секрета API.
Если у вас есть несколько ключей API, то одинаковые количество жетонов с соответствующими секретами звучит неплохо. Здесь мы предполагаем, что это безопасная среда, потому что она использует секрет для любых операций с вашей учетной записью.
Если вы проверяете SDK размера сервера (Go, Python, и c), когда вы создайте клиента, они фактически генерируют ваш токен и кешируют его.
Однако клиентская сторона - это совсем другая история. JWT не имеет состояния, но, вероятно, вашему приложению необходимо (сеанс) управление состоянием и истечение срока его действия (например, выход из системы). В этом случае 15 минут для истечения срока действия токена и обновления sh токена под капотом - довольно распространенная практика.
Короткое истечение срока действия JWT
плюсы:
- нет необходимости в централизованном хранилище (занесение в черный список для выхода из системы, смены пароля и т. д. c)
- более безопасный (меняется чаще, даже если кража)
минусы:
- больше времени обработки / ресурсов тратится на подпись нового токена (криптография медленная)
- больше сетевых запросов на refre sh
- плохое взаимодействие с пользователем, если токен не работает сохраняется, вместо этого хранится в памяти (требуется вход в систему и безопасность может быть проблемой при сохранении, поскольку в противном случае токен может быть украден)