我正在使用Ruby开发与Google URL缩短API的集成。根据他们有关OAuth2身份验证的说明,您需要定义一个环境变量
我想知道如何在不将凭据提交到源代码控制中的前提下正常存储我的凭据。因为仓库是私有的,所以我可以选择提交包含凭据的JSON文件,但这似乎并不是良好的实践。
GOOGLE_APPLICATION_CREDENTIALS
,该变量是指向包含服务帐户凭据的JSON/P12文件的路径。我想知道如何在不将凭据提交到源代码控制中的前提下正常存储我的凭据。因为仓库是私有的,所以我可以选择提交包含凭据的JSON文件,但这似乎并不是良好的实践。
GOOGLE_APPLICATION_CREDENTIALS
环境变量,它是指向JSON文件的文件路径。我尝试将文件托管在s3上,但它不接受URL。 - Daniel Bonnellexport VAR=stuff
语法,以便shell设置它们并从代码中访问。关键是你可以将这些内容从repo中删除,并在服务器上手动设置它们,以保持凭据的私密性。 - DiegoSalazarexport MY_VAR=stuff
语法并写入~/.bash_profile
并 source 它,你就可以通过ENV["MY_VAR"]
在Ruby中访问它们。只有在shell中被导出(export)后,它们才是环境变量。 - DiegoSalazarGOOGLE_APPLICATION_CREDENTIALS
变量,它是表示client_secrets.json
路径的字符串,该文件是OAuth凭据清单。将凭据导出为env变量对我没有任何好处,因为当gem从GOOGLE_APPLICATION_CREDENTIALS
读取文件时,它会尝试定义env变量,并因此覆盖我之前设置的任何env变量。 - Daniel Bonnell