OAuth - встраивание клиентского секрета в ваше приложение? - PullRequest
11 голосов
/ 18 июля 2011

Я смотрю на реализацию oauth, которую предлагает Twitter:

https://dev.twitter.com/docs/auth/oauth

и библиотеки oauth, такие как signpost:

http://code.google.com/p/oauth-signpost/

они оба говорят об использовании секрета клиента во время oauthПоток, что означает для моего клиентского приложения, мне нужно хранить секрет в самом приложении.Это, вероятно, рискованно, так как кто-то может извлечь секрет из моего приложения.Есть ли способы хранения секрета в моем приложении?Я неправильно понимаю поток oauth?

Спасибо

1 Ответ

3 голосов
/ 20 июля 2011

Невозможно хранить учетные данные клиента в собственном приложении или приложении JavaScript, не делая их практически открытыми.Кроме того, размещение этих учетных данных на прокси-сервере и заставка клиента общаться с сервером (чтобы учетные данные не были раскрыты) также ничего не решает.Теперь у вас есть проблема аутентификации клиента на прокси.

Правильное решение - это специальная поддержка собственных приложений, предоставляемых службой OAuth.OAuth 2.0 использует предварительно зарегистрированные URI перенаправления и другие методы, чтобы выполнить разумную проверку личности клиента для таких клиентов.

...