我正在为iOS开发,我需要使用API密钥和秘密向某些API发出请求。但是,我不希望它在我的源代码中暴露出来,当我推送到我的存储库时,它的秘密被泄露了。
此案例的最佳做法是什么?把它写在一个单独的文件中,我将包含在.gitignore中?
由于
答案 0 :(得分:1)
将它写在一个单独的文件中,我将包含在.gitignore中?
不,不要写它。
这意味着:
在您的仓库中存储一个脚本,该脚本能够从外部源(来自git repo外部)寻找该秘密,并将其加载到内存中。
这类似于git credential-helper
process,该脚本将启动一个过程,监听localhost:port
以便提供“秘密”#34;只在您当前会话中需要的时候给您
会话结束后,没有任何痕迹
这是管理秘密数据的最佳实践。
如果您在git checkout
文件中将其作为内容过滤器声明,则可以在.gitattributes
上自动触发该脚本:
答案 1 :(得分:0)
这是一个非常古老的问题,但如果有人在谷歌中看到这个,我建议您尝试使用CloudKit存储任何应用程序机密(API密钥,Oauth机密)。只有您的应用可以访问您的应用容器,Apple和您的应用之间的通信是安全的。 您可以查看here。