Общий секрет с API в приложении Ajax Adobe AIR - PullRequest
4 голосов
/ 17 ноября 2008

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

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

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

Ответы [ 4 ]

2 голосов
/ 24 ноября 2008

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

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

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

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

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

0 голосов
/ 24 декабря 2008

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

Проверьте, есть ли в Encryptedlocalstore ключ api и, если нет, получите его с сервера и сохраните его.

0 голосов
/ 23 декабря 2008

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

0 голосов
/ 17 ноября 2008

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

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

EDIT:

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

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