【发布时间】:2018-09-29 06:24:11
【问题描述】:
我正在使用 Python 请求库来调用需要 Windows 身份验证的 API。在 C# 中,我一直使用目录服务,这使我能够避免在我的任何代码或配置中输入密码。从我在网上找到的信息来看,我在 Python 中的唯一选择似乎是在某个地方设置密码。我有一个要使用的服务帐户,但我需要安全地存储密码。在 Python 中安全存储和检索服务帐户密码而不用硬编码纯文本的最佳方法是什么?
我目前使用的代码如下。我的配置中以纯文本形式存储了用户名和密码:
auth = HttpNtlmAuth(
config.ServiceAccount["Username"],
config.ServiceAccount["Password"]
)
content = requests.post(call_string, json=parameters, auth=auth)
编辑:我应该提到这将不是一个面向用户的应用程序。它将作为批处理作业运行。因此,用户在运行应用程序时将无法输入用户名/密码。
【问题讨论】:
-
我对 Windows 编程了解不多,但为什么不能使用目录服务?您使用哪种语言并不重要,如果它是系统可用的服务,您应该能够访问它。它是 Active Directory 的一部分吗?有各种包可以与之交互。
-
@Kevin K,请参考这个stackoverflow.com/questions/7014953/…,希望对你有帮助。
标签: python security python-requests windows-authentication password-protection