2013-09-26 2 views
2

Из проекта OAuth, неявной section:Client олицетворение в приложении OAuth с неявной авторизацией

При выдаче маркеров доступа во время неявного потока гранта, сервер авторизации не выполняет проверку подлинности клиента.

Теперь, давайте предположим, что это:

  1. У меня есть Android или IOS приложение.
  2. Я использую неявное разрешение OAuth, чтобы получить токен доступа к некоторому ресурсу. Это произойдет через веб-представление.
  3. Пользователь разрешил мое приложение некоторым ресурсам. Это означает:
    1. Он аутентифицирован в оригинальной службе, у которой есть ресурс.
    2. И веб-просмотр будет содержать его там.
  4. Существует злонамеренный Android или IOS приложение, которое пытается получить маркер доступа, используя тот же client_id, что я использую в моем приложении (client impersonating). У него также есть тот же redirect_uri, который в родных приложениях может быть как-то вроде fb://blabla.
  5. Как я понимаю, это вредоносное приложение может получить токен доступа, который первоначально принадлежит моему client_id, используя веб-представление. Это происходит потому, что пользователь даже не осознает используемого client_id, который является моим, из-за 3.1 и 3.2.
  6. Он может делать с ним вредные вещи, помимо ограничения скорости (у нескольких поставщиков, таких как FB и Twitter), которые мой клиент будет вынужден из-за чрезмерного использования.

Есть ли способ предотвратить это?

ответ

0

Первое утверждение в вашем link:

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

Я думаю, что это единственный способ. Кроме того, возможно, вы можете применить некоторое шифрование на вашем clientId, сохранить его зашифрованным и расшифровать его только до того, как вы проверите аутентификацию пользователя.

Смежные вопросы