Ajax Adob​​e AIR应用程序中API的共享密钥

时间:2008-11-17 02:51:12

标签: javascript ajax api air flickr

我是开发AIR应用程序的新手,所以也许这是一个愚蠢的问题,但我似乎无法从谷歌找到任何答案。非常感谢您给予我的任何帮助。

我正在使用与flickr的Api相同的api构建一个带有Ajax的AIR应用程序,并使用共享密钥。问题是空中安装包包含所有来源,我不想泄露我的共享秘密。有没有办法做到这一点?我是否可以隐藏某些来源,或以某种方式在应用程序中包含此共享秘密而不放弃它?

感谢您的帮助。

4 个答案:

答案 0 :(得分:2)

您可能希望使用EncryptedLocalStore安全地存储API密钥。

但是,您将无法将其与应用程序一起分发,因为商店的加密取决于运行应用程序的操作系统。

在app的安装上,种子商店的方法是:

  1. 运行安装程序
  2. 根据需要运行安装后脚本。
  3. 检查商店。如果没有密钥,请从您的网站下载密钥并将其存储在ELS中。
  4. 使用此方法,用户永远不会知道您的密钥,但它将出现在应用程序的商店中。

答案 1 :(得分:0)

第一个问题 - 许可证是否允许您编写应用程序并将其交给其他人使用您的密钥,而不是拥有自己的密钥?

如果是这样,如果这是一个兼容AIR的SDK,他们应该推荐一些方法。

编辑:

This question描述了flickr如何通过密钥提供对额外资源的访问。如果这是一个AIR应用程序,您是否跳过沙盒箍提供同时的互联网和桌面应用程序?

答案 2 :(得分:0)

我会将密钥存储在服务器上并使用SSL(https://)和flash.net.URLLoader类检索它,或将其存储在加密的SQLite database中。如果您还没有使用它,显然数据库会产生更多的开销,所以如果您现在或将来不打算使用SQLite数据库,我会选择第一个选项。

答案 3 :(得分:0)

您可以使用像Pierre-Yves Gillier所提到的EncryptedLocalStore。有一种方法可以检测应用程序是否从第一次运行。但我会采用这种方法:

检查Encryptedlocalstore是否具有api密钥,如果没有从服务器amd中获取它,则存储它。