Как предотвратить обновление украденного токена доступа - PullRequest
0 голосов
/ 11 мая 2018

Сценарий таков: у вас есть токен обновления, действительный в течение более длительного периода времени, и токен доступа, действительный в течение более короткого периода времени.

Настройка: имеется клиент, сервер приложенийи сервер аутентификации.

  • Клиент хранит токен доступа.
  • Сервер приложений хранит токен обновления.
  • Сервер аутентификации раздает токен обновления + доступа.

Одним из преимуществ является то, что украденный токен доступа может использоваться только в течение срока его действия.

Скажем, хакер украл токен доступа, действительный в течение 30 минут.Когда через 30 минут хакер отправляет запрос с действительным, но просроченным токеном доступа, сервер приложений обновляет его токеном обновления, таким образом, хакер получает новый действительный токен доступа с истекшим сроком действия.

Как это можно сделатьбыть предотвращенным?

Ответы [ 2 ]

0 голосов
/ 13 мая 2018

Нет способа помешать хакеру обновить токен, если

  1. Исходный пользователь сбросил пароль, а сервер AUTH удалил все предыдущие маркеры обновления.

  2. Уменьшите время действия токена обновления ближе к сроку действия токена доступа.

В обоих случаях мы полагаемся на аннулирование токена обновления.

0 голосов
/ 13 мая 2018

Сервер приложений не должен иметь токен обновления.

В OAuth2.0 client должен хранить токен обновления.

Чтобы использовать токен обновления для создания нового токена доступаclient должен представить токен обновления (вместе с идентификатором клиента и секретом) серверу авторизации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...