Общий секрет с API в приложении Ajax Adobe AIR

Я новичок в разработке приложений AIR, поэтому, возможно, это глупый вопрос, но я не могу найти ответы в Google. Любая помощь, которую вы можете мне оказать, очень ценится.

Я создаю приложение AIR с помощью Ajax, используя API, идентичный API flickr, с общим секретным ключом. Проблема в том, что установочный пакет air содержит весь исходный код, и я не хочу раскрывать свой общий секрет. Есть какой-либо способ сделать это? Могу ли я скрыть какой-то источник или каким-то образом включить этот общий секрет в приложение, не раскрывая его?

Спасибо за вашу помощь.


person user38131    schedule 17.11.2008    source источник
comment
Что такое API? Мы никому не скажем.   -  person Dan Rosenstark    schedule 22.12.2008


Ответы (4)


Вы можете использовать EncryptedLocalStore для хранить ключ API.

Но вы не сможете распространять его вместе с приложением, так как шифрование магазина зависит от того, на какой ОС работает приложение.

Способ заполнения магазина при установке приложения:

  1. Запустить установщик
  2. Запускайте сценарии после установки по мере необходимости.
  3. Проверьте магазин. Если ключа нет, загрузите ключ со своего веб-сайта и сохраните его в ELS.

Используя этот метод, пользователь никогда не узнает ваш ключ, но он будет присутствовать в магазине приложений.

person Pierre-Yves Gillier    schedule 24.11.2008
comment
Как получить ключ при первой установке приложения AIR на клиенте? Это будет в коде, который, по-видимому, есть у пользователя, согласно задавшему вопрос. - person user43636; 23.12.2008
comment
Прочтите шаг 3 выше. Приложение не будет поставляться с ключом, но при первом запуске оно подключится к своему веб-сайту и загрузит ключ для хранения в ELS. - person Bob Somers; 24.12.2008
comment
Итак, если общий секрет доступен на вашем веб-сайте, используя только учетные данные, присутствующие в исходном коде вашего приложения (общедоступном), что мешает кому-то получить секрет с вашего веб-сайта? - person Jonathan Hanson; 04.08.2012

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

Если это так, и если это SDK, совместимый с AIR, у них должен быть какой-то метод, который они рекомендуют.

РЕДАКТИРОВАТЬ:

Этот вопрос описывает, как flickr предоставляет доступ к дополнительным ресурсам с ключ. Если это приложение AIR, вы прыгаете через обручи песочницы, чтобы обеспечить одновременный доступ в Интернет и настольное приложение?

person dkretz    schedule 17.11.2008

Я бы либо сохранил ключ на сервере и получил его с помощью SSL (https://) и flash.net.URLLoader или сохраните его в зашифрованном файле база данных SQLite. Очевидно, что база данных создает гораздо больше накладных расходов, если вы ее еще не используете, поэтому я бы выбрал первый вариант, если вы не собираетесь использовать базу данных SQLite сейчас или в будущем.

person user43636    schedule 23.12.2008

Вы можете использовать EncryptedLocalStore, как упоминал Пьер-Ив Жилье. Существует способ определить, запускается ли приложение с первого раза. Но я бы пошел на этот метод:

Проверьте, есть ли в Encryptedlocalstore ключ API, и если нет, возьмите его с сервера и сохраните.

person Vasil    schedule 23.12.2008