Как сохранить идентификатор клиента OAuth в собственных приложениях - PullRequest
0 голосов
/ 10 июня 2018

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

Похоже, это идентификатор клиента для моего приложения (который предоставляется сторонним сайтом) будет общедоступным и, следовательно, открытым.Это позволило бы кому-то другому взять его и, следуя тому же неявному потоку, маскироваться под мое приложение.Это просто природа oauth?

Есть ли способ хранения этой информации, чтобы ее нельзя было украсть?

РЕДАКТИРОВАТЬ: я просто хотел бы уточнить - я понимаю, oauth держит пользователяинформация в безопасности от моего приложения и в идеале перехватчиков.Но что мешает кому-то взять мой идентификатор клиента (как он публично виден через процесс аутентификации) и использовать его для себя?Есть ли какие-либо меры, которые могут быть предприняты, победив с помощью открытого приложения?

1 Ответ

0 голосов
/ 10 июня 2018

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

GET / authorize? Response_type = code & client_id = s6BhdRkqt3 & state = xyz & redirect_uri = https% 3A% 2F% 2Fclient% 2Eexample% 2Ecom% 2Fcb

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

Дополнительные пояснения:

  • Использование неявного потока в собственных приложениях не рекомендуется, поскольку злоумышленник может зарегистрировать ваш URI перенаправления в ОС и может перехватить обратный вызов с помощью маркера доступа.

  • Поток кода авторизации является лучшим вариантом.Если вы можете безопасно хранить секрет клиента в своем приложении (см. Ссылку ниже), злоумышленник может использовать ваш идентификатор клиента для запуска авторизации или перехватить обратный вызов, но он не сможет использовать код авторизации для получениятокен доступа.

Ссылки:

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