4

我使用 Dropbox API 编写了一段简单的代码,这意味着我的应用程序使用了 APP_KEY 和 APP_SECRET。假设有人也想使用我的应用程序。我创建了一个 github 存储库,推送代码等等,但是,当然,我没有放 APP_KEY 和 APP_SECRET。用户是否必须注册自己的此应用程序实例?有没有其他的处理方式?也许共享 APP_KEY 和 APP_SECRET 就足够安全了?

换句话说,Dropbox 禁止使用用户名-密码对进行身份验证(而他们自己的官方应用程序正是这样做的),但我想(例如)为 KDE 的 Dolphin 制作一个插件,用于从上下文菜单和用户获取文件的公共链接甚至不应该知道所有这些秘密,钥匙等等。我该怎么办?

4

3 回答 3

2

在我看来,应用程序密钥和秘密应该标识您的应用程序实例/版本,而不是代码本身。因此,如果您想发布代码本身,例如在 github 上,则不应包含应用程序密钥和秘密。(这样做的一种方法是将它们保存在应用程序将从中读取的配置文件中,但不要将配置文件包含在公共存储库中。)

然后,当您发布您的应用程序(即,向最终用户供一般用途)时,它可以包含嵌入其中的应用程序密钥和秘密,用户无法清楚地看到。当然,这里的细节是根据场景来判断的。例如,未编译的应用程序(例如,shell 脚本)默认情况下以纯文本形式提供源代码,即使在“发布”时也是如此,因此您可能不想包含它们。

但或者,如果任何其他开发人员想要使用代码并自己构建应用程序(从源代码),他们应该注册并使用自己的应用程序密钥/秘密。

于 2013-01-31T17:32:55.020 回答
1

您可以使用Dropbox API Key Encoder对您的密钥进行编码,并使用dropbox.js 对其进行解码。这样你就不需要暴露你的密钥

于 2013-05-09T06:45:08.920 回答
1

我正在使用 Figaro Gem 隐藏我的 Dropbox 密钥:https ://github.com/laserlemon/figaro

于 2014-07-10T22:06:42.667 回答