存储密码的位置 - 第 3 方 API

Posted

技术标签:

【中文标题】存储密码的位置 - 第 3 方 API【英文标题】:Where to store password - 3rd party API 【发布时间】:2021-12-23 23:53:13 【问题描述】:

我正在开发一个应用程序,我必须从我的 java 后端代码调用 API,这需要我在请求中传递用户 ID 和密码。此密码每 30 天轮换一次。问题:

    应将密码保存在何处以便在运行时可用,不要将其存储在 DB 中,因为它不会有效地执行。 更新后的密码应该可供调用第三方的服务使用,这样服务器就不需要重新启动

数据库似乎不是一个好选择,因为无法将密码以明文形式保存在那里,并且在每次 API 调用之前从数据库中获取似乎不是一个好主意。

将有多个服务实例在生产中运行,因此存储在文本文件中似乎也不是一个好的选择。

【问题讨论】:

【参考方案1】:

您可以将它们设置为“环境选项”并将它们作为输入参数传递给应用程序启动。

一个选项也可以将其设置为“环境变量”,然后将其作为系统属性。

【讨论】:

这意味着在密码轮换时,我将不得不重新启动我的应用程序,这是不合适的。

以上是关于存储密码的位置 - 第 3 方 API的主要内容,如果未能解决你的问题,请参考以下文章

您如何保护 API 密钥和第 3 方站点凭据 (LAMP)?

Visual C++:插件 DLL 使用的第 3 方 DLL 的位置?

Web API 在 MVC 中存储承载令牌的位置

Laravel - 第 3 方 API 的模型?

Symfony2 通过第 3 方 REST API 进行身份验证

使用第 3 方 Oauth 提供程序对 API 用户进行身份验证 [关闭]