Что произойдет, если кто-то украдет код авторизации в потоке Oath2 - PullRequest
0 голосов
/ 30 января 2019

См. Это видео, в частности, с 20.00 до 25.00.

https://azure.microsoft.com/en-us/resources/videos/new-authentication-model-for-web-mobile-and-cloud-applications/

Рабочий процесс, который он описывает, таков: клиентское приложение подключается к конечной точке авторизации через браузер.Пользователь вводит учетные данные, а сервер аутентификации аутентифицирует пользователя и отправляет код авторизации с помощью перенаправления.Клиентское приложение перехватывает активность браузера и извлекает код авторизации.Новый запрос сделан к конечной точке токена вместе с этим кодом авторизации, идентификатором клиента и немного другой информацией.В свою очередь, приложение получает доступ и обновляет токен.

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

1 Ответ

0 голосов
/ 30 января 2019

Первый код авторизации обычно работает в течение примерно 3 минут.Второй код авторизации можно использовать только один раз.URI третьего перенаправления должен быть действительным, который был зарегистрирован для этого клиента на oauth-сервере

  1. Клиент инициирует поток, направляя агента пользователя владельца ресурса в конечную точку авторизации.Клиент включает в себя свой идентификатор клиента, запрошенную область действия, локальное состояние и URI перенаправления, на который сервер авторизации отправит агент пользователя обратно после предоставления (или отказа) доступа.
  2. Сервер авторизации аутентифицирует ресурсвладелец (через агента пользователя) и устанавливает, разрешает ли владелец ресурса или отклоняет запрос клиента на доступ.
  3. Предполагая, что владелец ресурса предоставляет доступ, сервер авторизации перенаправляет агент пользователя обратно клиенту, используя перенаправлениеURI предоставляется ранее (в запросе или при регистрации клиента).URI перенаправления включает в себя код авторизации и любое локальное состояние, предоставленное клиентом ранее.
  4. Клиент запрашивает токен доступа из конечной точки токена сервера авторизации, включая код авторизации, полученный на предыдущем шаге.При выполнении запроса клиент проходит аутентификацию на сервере авторизации.Клиент включает URI перенаправления, используемый для получения кода авторизации для проверки.
  5. Сервер авторизации аутентифицирует клиента, проверяет код авторизации и гарантирует, что полученный URI перенаправления соответствует URI, используемому для перенаправления клиента на этапе(С).Если он действителен, сервер авторизации отвечает токеном доступа и, необязательно, токеном обновления.

# section-4.1

Поток Oauth

Позволяет сделать это с правильной терминологией.

  • Клиент = ваше приложение
  • орган = удостоверение или сервер oauth2 (полномочия)
  • владелец ресурса = пользователь, данные которого вы хотите получить.

Владелец ресурса загружает клиента, клиент замечает, что владелец ресурса не авторизован.Владелец ресурса связывается с полномочным органом, идентифицируя себя, используя идентификатор клиента и, возможно, секрет клиента, и отправляя URI перенаправления, и запрашивает области. (некоторые отправляемые сообщения зависят от настроек сервера аутентификации)

Полномочия обращают внимание, что владелец ресурса не вошел в систему, предлагает им войти в систему. Владелец ресурса входит в систему и проверяет области действия.клиент изначально запросилПредлагает владельцу ресурса предоставить клиенту доступ к указанным областям.

enter image description here

Владелец ресурса дает согласие на доступ.Администрация возвращает клиенту код авторизации.

Клиент говорит, что хорошо, что у меня есть код авторизации, и возвращает органу авторизации код авторизации, его идентификатор клиента и секрет.Таким образом, Органу известно, что на самом деле это клиент, которого владелец ресурса авторизовал.

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

Токены доступа повторно не проверяются.Поэтому, если кто-то украл этот токен доступа, он сможет использовать его до истечения срока его действия.

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