首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >最佳实践Python -在何处存储API密钥/令牌

最佳实践Python -在何处存储API密钥/令牌
EN

Stack Overflow用户
提问于 2019-07-11 18:30:10
回答 3查看 14.9K关注 0票数 14

我正在构建一个使用API令牌和密钥访问服务的系统,但是最好的存储位置是哪里呢?我想将代码推送到GitHub,而不需要推送令牌。

目前,我已经将它们放在一个名为Constants.py的空白文件中,并且在主要的python文件中导入了Constants.py

API_KEY_SERVICE = "ABC123ABC"

Main.py:

代码语言:javascript
复制
import Constants
service_key = Constants.API_KEY_SENDGRID
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-07-11 18:35:32

您正在尝试的是将敏感信息与代码隔离的正确方法。您应该将constants.py包含在.gitignore文件中,这将阻止git跟踪该文件,从而不会将其推送到github。

有关.gitignore,请参阅:https://git-scm.com/docs/gitignore

票数 10
EN

Stack Overflow用户

发布于 2021-07-06 03:05:47

有几种选择:

  1. 按照您的要求在本地存储它,正如Sebastin Santy所指出的,将constants.py添加到您的.gitignore文件中。
  2. 如果使用conda虚拟环境,则将其存储为环境变量。虚拟环境没有存储;创建虚拟环境的要求在requirements.txt文件中。您可以从conda文档化中找到有关步骤的更多信息。
  3. 使用OS模块
  4. 如果有多个环境变量集,可以考虑使用解耦
  5. 如果您正在使用AWS,您将希望使用自己的IAM将(可能是第三方的)密钥存储在自己的区域中。AWS推荐了两种方法。
票数 9
EN

Stack Overflow用户

发布于 2022-09-13 01:13:16

这里有一些好的答案。此外,我认为我们还可以使用keyring模块,它将从Windows凭据或Mac密钥链中读取凭据。不过,我很想听听社会人士的意见。谢谢。

这是指向那个- https://pypi.org/project/keyring/的链接

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56995350

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档