Каковы риски разоблачения не столь секретного ключа oauth? Есть ли обходные пути?

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

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

Каковы риски этого? Это просто, что кто-то может «загрузить и проверить» ваш бинарный файл, чтобы извлечь ваш ключ, и может ли он притворяться вашим приложением (фишинговый стиль)? Или есть другие риски?


Помимо рисков, существуют ли какие-либо обходные решения или решения, о которых люди знают?

Единственное решение, которое я уже видел, заключается в том, что некоторые люди обходятся этим путем маршрутизации всех твиттер-звонков через свой собственный сайт – например, OAuth Twitter с использованием только потребительского ключа (не использовать секрет пользователя) на iPhone и Android, но это кажется довольно медленным и дорогостоящим – Я бы предпочел не перенаправлять все вызовы через мой собственный веб-сервис, если я могу его избежать (или я неправильно понял решение – это просто авторизация, которая проходит через веб-сайт?)

Единственная реальная опасность, по-видимому, заключается в том, что кто-то может олицетворять ваше приложение и запретить его использовать Twitter, а затем вы должны использовать новый ключ.

В этом разговоре по I / O Google есть некоторые указания по запутыванию кода, чтобы сделать его сложнее в обратном процессе. http://www.google.com/events/io/2011/sessions/evading-pirates-and-stopping-vampires-using-license-verification-library-in-app-billing-and-app-engine.html

Обходной путь, который я придумал, – это получить секретный ключ с вашего веб-сервера (через SSL) с помощью аутентифицированного вызова веб-службы. Вы можете кэшировать его в клиентском приложении (только в памяти). Используйте его, когда вам нужно, не подключаясь снова к серверу.

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

Intereting Posts
Какова должна быть полезная нагрузка разработчика в биллинге in-app in-app v3 api? Android – Изображение на кнопке Прессованное событие – Применить наложение изображения на все Пользовательский ListView, где все изображения имеют одинаковый размер Восстановление иерархии представлений из сохраненного состояния не восстанавливает добавленные представления Android AsyncTask – Порядок выполнения Точность датчика приближения Преобразование битмапа в jpeg в android Проблема масштабирования страницы на всех устройствах Android Java – java.lang.IllegalStateException: Не удалось прочитать строку 0, col -1 из CursorWindow Тег html5 для воспроизведения в полноэкранном режиме с Android Как сделать линейную компоновку горизонтальной прокрутки Android Studio не удалось найти версию, совместимую с com.android.support:appcompat-v7:+ Адаптация адаптера для перерабатывающего оборудования Firebase Закрытие диалогового окна Android Ошибка после добавления нижнего колонтитула в ListView