Ответ 1
Реальный вопрос - это то, что злоумышленник получает от его кражи...
Вы должны сделать все возможное, чтобы защитить секреты, но в конце концов, высоко мотивированный хакер всегда может получить доступ к нему в установленном приложении. Таким образом, это значение секретности и трудности извлечения.
Значение секретности клиента олицетворяет приложение. Он не дает доступа к пользовательским данным. Тем не менее, поскольку Twitter поддерживает автоматическую выдачу учетных данных ранее одобренным приложениям (их вход с потоком Twitter), злоумышленник может потенциально создать веб-приложение с вашим секретным и украсть пользовательские данные, используя слепую переадресацию.
Проблема с реализацией Twitter заключается в том, что они не спрашивают разработчика о характере приложения. Если бы они это сделали, они бы не выпустили вам секрет для начала и заблокировали бы, чтобы кто-либо создавал веб-приложение, используя ваши учетные данные клиента, и крал данные у пользователей, которые уже одобрили его.
Обфускация - один из вариантов, но слабый. Перенос секретности на веб-сервер, выступающий в качестве прокси-сервера API, является другим, но это просто переводит проблему в другое место, потому что теперь ваше приложение должно пройти аутентификацию против прокси-сервера. Тем не менее, этот шаблон может быть достаточно безопасным, если вы требуете, чтобы пользователи заходили на ваш сайт (который может использовать через веб-представления, Twitter для входа в систему). Таким образом, кто-то, кто пытается злоупотреблять вашим прокси-сервером, будет нуждаться в том, чтобы их пользователи открывали аккаунты на вашем сервисе, что не очень привлекательно.
Короче говоря, продолжайте и обфускайте его. Это не больно. Рассмотрите возможность использования прокси-шаблона. И, возможно, пусть Twitter знает, что их политики безопасности "не велики".