在开源项目中存储OAuth秘密

时间:2014-02-21 11:24:41

标签: c++ oauth dropbox

我在桌面应用程序中使用Dropbox OAuth 来上传文件。但是,我的应用开源,因此我不知道如何存储 app secret 。如果我不隐藏它,任何其他程序将能够使用我的应用程序标识。

我可以使用密钥包含单独的头文件(C ++),并且不在我的源代码中分发此头文件,但是,在我看来,这样的存储库看起来有点不合适(如果我错了,请纠正我)。

有什么建议吗?

2 个答案:

答案 0 :(得分:3)

我认为这里要做的典型事情是省略来自您的来源的应用密钥和秘密,并通过Dropbox网站向人们提供如何创建自己的应用密钥和秘密的说明。

答案 1 :(得分:1)

我认为你的头脑很明显 - 分享你软件的本质就像FOSS意味着任何人都可以复制程序功能的任何部分;这也意味着任何人都可以设计软件来模仿程序的任何方面。这绝不是坏事;这只是开源的本质。

如果您有选择地隐藏您的应用程序机密,那么您所做的就是阻止其他人构建您的源代码并获得与构建它时相同的结果。这与开源原则IMO完全相反。

如果问题是由于秘密受到损害而在某些市场上删除应用程序的风险,那么一个解决方案是在构建时为每个单独的构建生成新的应用程序秘密 - 尽管这远非理想。