【问题标题】:Best practise for using API_KEYS and CLIENT_SECRETS within settings.py在 settings.py 中使用 API KEYS 和 CLIENT_SECRETS 的最佳实践
【发布时间】:2017-06-19 19:43:20
【问题描述】:

正如标题所示 - 我正在寻找在我的 Django 项目的 settings.py 中使用 API_KEYS、CLIENT_SECRETS 等的最佳实践。我似乎无法准确找到我正在寻找的内容 - 文档方面。

问一个隐含的问题:在开发和生产中存储这些信息的最佳方法是什么?

【问题讨论】:

  • 指定你的问题,具体是什么你不明白吗?您现在如何尝试这样做?

标签: python django passwords credentials django-settings


【解决方案1】:

settings.py 中使用 API_KEYS 和 CLIENT_SECRET 密钥的最佳做法是根本不将它们存储在那里!

您最好在操作系统中设置环境变量,并在需要时在settings.py 文件中检索它们。这样,您的密钥将永远不会接触代码库并安全地保留在操作系统中。

您可以在 settings.py 中执行类似操作:

import os
API_KEY = os.environ.get('API_KEY_ENVIRONMENT_VARIABLE')
CLIENT_SECRET = os.environ.get('CLIENT_SECRET_KEY_ENVIRONMENT_VARIABLE')

【讨论】:

    【解决方案2】:

    我将这样的行添加到我的settings.py(这是来自 Python 2):

    try:
        from local import *
    except ImportError:
        print 'The local settings could not be found.'
    

    然后我在同一目录中创建一个local.py 文件,其中包含特定于部署或机密的设置。然后我将它添加到我使用的任何修订控制工具的忽略文件中,以确保它永远不会被提交。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-03
      • 1970-01-01
      • 1970-01-01
      • 2016-03-23
      • 2013-10-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多