我使用Dropbox API编写了一段简单的代码,这意味着我的应用程序使用APP_KEY和APP_SECRET。我们假设有人想要使用我的应用程序。我创建了一个github repo,推送代码等等,当然,我没有把APP_KEY和APP_SECRET 值。用户是否必须注册自己的应用程序实例?还有其他方式可以处理吗?也许共享APP_KEY和APP_SECRET足够安全,让它成为那样?
换句话说,Dropbox禁止使用用户名 - 密码对进行身份验证(虽然他们自己的官方应用确实如此),但我希望(例如)为KDE的Dolphin制作插件,以便从上下文获取文件的公共链接菜单和用户甚至不应该知道所有这些SECRETS,KEYS等。我该怎么办?
答案 0 :(得分:2)
我看到它的方式,应用程序密钥和秘密应该标识您的应用程序的实例/发布,而不是代码本身。因此,如果您想要释放代码本身,例如,在github上,则不应包含应用密钥和密钥。 (实现此目的的一种方法是将它们保存在应用程序可以读取的配置文件中,但不要在公共存储库中包含配置文件。)
然后,当您发布应用程序(即,最终用户以供一般使用)时,它可以包含嵌入在内部的应用程序密钥和秘密,而不是用户明显可见。当然,根据场景,这里的细节是一个判断调用。例如,默认情况下,非编译应用程序(例如,shell脚本)使源文件以纯文本形式提供,即使在“已发布”时也是如此,因此您可能不希望包含它们。
但另外,如果任何其他开发人员想要使用代码并自己构建应用程序(来自源代码),他们应该注册并使用自己的应用程序密钥/秘密。
答案 1 :(得分:1)
您可以使用Dropbox API Key Encoder对密钥进行编码,然后使用dropbox.js进行解码。这样您就不需要公开您的密钥
答案 2 :(得分:1)
我正在使用Figaro Gem来隐藏我的Dropbox密钥:https://github.com/laserlemon/figaro