Почему плохая идея обновлять sh токен доступа каждый раз, когда я отправляю запрос? - PullRequest
1 голос
/ 18 февраля 2020

Я делал реакцию собственного приложения и использовал OAuth2 и получал токен доступа, обновлял токен sh и истекал через некоторое время, когда я захожу в приложение. Я проверил срок действия моего токена во время отправки запроса (GET, POST). Если срок действия моего токена истек, я использовал токен refre sh, чтобы получить новый токен доступа. Мой коллега сказал мне, мне не нужно проверять истекшее время, просто используйте токен refre sh для получения токена доступа каждый раз, когда я отправляю запрос. Я знаю, что его путь неправильный, но что может случиться, если я буду использовать его? Почему плохо обновлять sh токен доступа каждый раз, когда я отправляю запросы?

Ответы [ 2 ]

0 голосов
/ 18 февраля 2020

Ваш коллега, вероятно, посоветовал вам сделать это, вот как я всегда кодирую эти вещи:

  • Отправлять текущий токен доступа в API при каждом запросе
  • В конце концов токен доступа вернет 401
  • Затем используйте токен refre sh для получения нового токена доступа + повторите попытку API
  • В конечном итоге запрос на обновление токена завершится неудачно с ошибкой invalid_grant и пользователь должен снова войти в систему

То есть вы обновляете sh только по истечении срока действия токена доступа, а не при каждом отдельном запросе. Вы не полагаетесь на время истечения токена доступа, поскольку API могут отклонять токены по нескольким причинам.

0 голосов
/ 18 февраля 2020

Потому что это увеличивает количество обращений к сети и делает ваше приложение медленнее, чем нужно, и увеличивает нагрузку на службу токенов.

Таким образом, возникают проблемы с масштабированием и ужасное взаимодействие с пользователем.

...