Я разрабатываю сервер oAuth2, и я наткнулся на этот вопрос.Должен ли сервер oAuth предоставить тот же accessToken одному и тому же запросу клиента?
Предположим, что сценарий, в котором установлены мои токены, истекает в течение одного часа. В этот период некоторые клиенты проходят через неявное auth пятьдесят раз, используя тот же client_id
и тот же redirect_uri
. В принципе же все.
Должен ли я дать ему тот же accessToken
, сгенерированный по первому запросу на последующих, до истечения срока его действия, или я должен оформить новый accessToken
по каждому запросу?
Преимущества отправки одного и того же токена в том, что я не оставлю устаревшие и неиспользуемые токены клиента на сервере, минимизируя окно для злоумышленника, пытающегося угадать действительный токен.
Я знаю, что я должен оценивать ограничения, и я это делаю, но в случае большой атаки ботнета из тысяч разных машин некоторые ограничения не вступят в силу немедленно.
Однако я не уверен в недостатках этого решения, и именно поэтому я и приехал сюда. Это приемлемое решение?
Я путаюсь с вашей третьей точкой. ОП не упоминает параметр «состояние». Я не думаю, что состояние будет отправлено как параметр, чтобы получить новый токен. –
@KiranShakya Клиент может отправлять или не отправлять параметр состояния. Сервер авторизации ДОЛЖЕН отправить параметр состояния, если он передан с запросом авторизации в сконфигурированный URI перенаправления. См. Https://tools.ietf.org/html/rfc6749#section-4.2.2. Так что это актуально. – vap78
в пункте 2 есть больше запросов, где может замедляться время отклика. Исправьте меня, если я ошибаюсь – Prageeth