java — параметр «code» Facebook как часть строки запроса для аутентификации OAuth

Несмотря на то, что код авторизации является недолгим по сравнению с токеном авторизации, не существует ли уязвимости при отправке его в «GET» в виде строки запроса? Разве это не похоже на отправку пароля методом GET?

Другими словами, после аутентификации Facebook перенаправляет браузер пользователя на mysite.com, отправляя код авторизации в виде строки запроса. Разве это не зашифровано? Средний человек, который слушает ваши пакеты, может прочитать его и использовать для захвата вашего сеанса (сеанс на mysite.com)?

Сказать,

  1. Я заблокировал перенаправление (после получения «кода» из Facebook) на
    мой браузер (с помощью некоторых надстроек / плагинов для браузера)
  2. Я скопировал полный URL перенаправления
    (www.mysite.com?code=AQCOtAV..blah) и пробовать его с другого
    браузер.
  3. запрос пройдет и mysite.com свяжется с фейсбуком
    с входящим кодом авторизации вместе с secretKey и clientId
    и аутентифицировать и генерировать токен авторизации (на самом деле я не
    попробовал этот шаг: шаг 3)

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

1

Решение

Спасибо @ Zólyomi за указание на то, что, хотя код авторизации передается в качестве параметра запроса, он использует HTTPS для отправки.

Ответ:
Строка запроса, отправленная через https, является безопасной. Независимо от того, какой http-метод GET или POST вы используете, он зашифрован, и никакой посредник не сможет его прослушать. Больше информации.
Безопасна ли строка запроса HTTPS?

Однако по многим другим причинам отправка пароля в строке запроса не является хорошей практикой (пароль может отображаться в журналах сервера в виде простого текста как часть URL-адреса и т. Д.). Но это здесь не применимо, потому что код авторизации является недолговечным и бесполезным после обмена на токен авторизации.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]