2016-01-08 3 views
1

На rfc https://tools.ietf.org/html/draft-ietf-oauth-v2-12#page-40 вы можете увидеть предложение с сообщением «Удаленный код ошибки expired_token».Почему комитет OAuth2 удалил код ошибки «expired_token»?

То есть, «invalid_token» будет использоваться для истекших токенов.

Почему это было? Я считаю, что клиенту очень полезно различать истекший токен и недопустимый токен. Без «expired_token», как клиент может решить, обновлять ли токен доступа?

ответ

1

Он был удален, чтобы предотвратить потенциальную утечку информации, которую могут использовать злоумышленники.

Предположим, что злоумышленник может получить копию вашего токена доступа, обнюхивая весь ваш сетевой трафик. Но злоумышленник анализирует эту информацию только после того, как ваш токен истек. Если злоумышленник пытается выполнить запросы к вашей службе с этим токеном и получает обратно код «expired_token», они знают, что они верны, и просто нужно получить более позднюю копию.

Если злоумышленник получает сообщение 'invalid_token', это затрудняет для злоумышленника понять, что данные у них были маркером доступа (может быть, это было что-то еще?).

Кроме того, способ доступа/токенов обновления, как правило, работают, что-то вроде этого:

  • Клиент должен сделать запрос API и имеет маркер доступа и обновления маркера.
  • Клиент обращается к службе API с их токеном доступа и получает сообщение 'invalid_token'.
  • Клиент локально проверяет токен обновления, видит, что он по-прежнему действителен.
  • Клиент затем отправляет запрос обновления с использованием своего токена обновления и получает новый токен доступа.

Если клиент локально проверяет их свежий маркер выше, и получает ошибку (возможно, маркер истек, или что-то), они знают, что они должны повторно проверить подлинность пользователя FRESH получить как новый освежают и маркер доступа ,

То же самое верно, если пользователь отправляет запрос на обновление, токен обновления считается недействительным (возможно, серверная сторона отозвала этот токен?).

+0

спасибо. Но как разработчика я не убежден. Его недостатки избавляют от лишних преимуществ, поскольку клиентам необходимо знать, что происходит с маркером доступа, который он передает, и риск, который он представляет, просто «хорошо». Надеюсь, что «expired_token» может вернуться назад. –