Я возьму пример с здесь . Допустим, Resource Owner
хочет разрешить Application
example-app.com иметь доступ к некоторым его ресурсам.
1) Resource Owner
будет направлен на URI в Authorization Server
Например:
https://authorization-server.com/auth
?response_type=code
&client_id=29352915982374239857
&redirect_uri=https%3A%2F%2Fexample-app.com%2Fcallback
&scope=create+delete
&state=xcoiv98y2kd22vusuye3kch
2) Resource Owner
будет аутентифицироваться с Authorization Server
и будет перенаправлен на:
https://example-app.com/redirect
?code=g0ZGZmNjVmOWIjNTk2NTk4ZTYyZGI3
&state=xcoiv98y2kd22vusuye3kch
Вопрос: Что если кто-то еще копирует URI из шага 2) и делает запрос на тот же URI? Предположим, что запрос от Attacker
будет обработан до Resource Owner
. Например, Attacker
отправляет тот же запрос:
https://example-app.com/redirect
?code=g0ZGZmNjVmOWIjNTk2NTk4ZTYyZGI3
&state=xcoiv98y2kd22vusuye3kch
Мне кажется, что Application
теперь может получить доступ к ресурсам из Resource Owner
и поделиться им с Attacker
, особенно если Application
создает сеанс с запросчиком после проверки code
. Имеет ли это хоть какой-то смысл? Как защититься от этого?