Вместо того, чтобы перенаправлять на другую вредоносную конечную точку (которая предоставит код авторизации), более вероятна атака Подделка межсайтовых запросов (CSRF) . Для этого OAuth 2.0 spe c предоставляет вам параметр state ( подробнее об этом ).
Относительно возможности перенаправления на вредоносную конечную точку, чтобы это было готово,
- Ваш исходный запрос должен содержать URL-адрес перенаправления вредоносной конечной точки
- Сервер идентификации должен проверить этот URL-адрес и затем принять решение выполнить перенаправление
Второй пункт сложно использовать (но возможно). Потому что из определения OAuth 2.0 вы регистрируете URL перенаправления, когда регистрируете своего клиента
Сервер авторизации перенаправляет пользовательский агент на конечную точку перенаправления клиента, ранее установленную сервером авторизации во время процесс регистрации клиента или при выполнении запроса на авторизацию.
Таким образом, это означает, что ваш сервер идентификации был взломан ИЛИ ваша регистрация была использована. И вам придется беспокоиться о том, что пользователь будет перенаправлен на вредоносный веб-сайт, который может извлечь другие важные сведения, а не раскрывать код авторизации.
Это подчеркивается в спецификации в Манипуляция URI перенаправления кода авторизации
Злоумышленник может создать учетную запись на легитимном клиенте и инициировать процесс авторизации. Когда пользовательский агент злоумышленника отправляется на сервер авторизации для предоставления доступа, злоумышленник захватывает URI авторизации, предоставленный законным клиентом, и заменяет URI перенаправления клиента на URI, находящийся под контролем злоумышленника. Затем злоумышленник обманом заставляет жертву перейти по манипулируемой ссылке для авторизации доступа к законному клиенту.