在开源项目中存储 OAuth 机密
Storing OAuth secret in the open-source project
我在桌面应用程序中使用 Dropbox OAuth 上传文件。但是,我的应用程序是开源的,因此我不知道如何存储应用程序机密。如果我不隐藏它,任何其他程序都将能够使用我的应用标识。
我可以包含带有密钥的单独头文件 (C++),并且不在我的源代码中分发此标头,但是,在我看来,这样的存储库看起来有点不足(如果我错了,请纠正我)。
有什么建议吗?
我认为这里要做的典型事情是从您的源中省略应用程序密钥和机密,并向用户提供有关如何通过 Dropbox 网站创建自己的应用程序密钥和机密的说明。
我认为你一针见血 - 将你的软件共享为FOSS的本质意味着任何人都可以复制你程序功能的任何部分;这也意味着任何人都可以设计软件来模拟程序的任何方面。 这绝不是一件坏事;这就是开源的本质。
如果你有选择地隐藏你的应用机密,你所做的只是阻止其他人构建你的源代码,并获得与你构建源代码时相同的结果。 这与IMO的开源原则几乎背道而驰。
如果问题是由于机密泄露而导致某些市场上的应用删除风险,那么一种解决方案是在构建时为每个单独的构建生成一个新的应用机密 - 尽管这远非理想。
相关文章:
- 具有随机密钥生成的双重 AES 加密
- twitcurl OAuth - 错误 89:令牌无效/过期
- 在开源项目中存储 OAuth 机密
- 基于OAuth的身份验证方案
- 使用openssl和c++生成OAuth访问令牌
- OAuth 2.0 in C++ Builder XE2
- 如何正确创建 oauth 签名基字符串
- flickcurl错误-方法flickr.oauth.access_token失败了
- 在运行时强制使用已知随机密钥的算法
- OAuth 2.0签名参数和Facebook
- 如何使用oauth与etrade api C
- 在谷歌云存储中使用服务帐户获取OAuth令牌时'invalid_grant'错误