当前,我正在使用环境变量将API凭据存储在我的nodejs应用程序中。
如果我想在运行时通过UI更改凭据,最好的存储方式是什么?
是否可以在运行时更改环境变量?
答案 0 :(得分:0)
回答您的问题,是的,有可能。 Node.js文档说:
process.env
属性返回一个包含用户的对象 环境。可以修改此对象,但是这样 修改不会反映在Node.js流程之外。
在此处查看文档:{{3}}
将环境变量放置在一个单独的文件中的想法,正是为了使它远离您的应用程序可能存在的任何漏洞,导致未经授权的第三方获得该变量。我认为您可以做到,但这不是一个好习惯。如果无法避免,则应将其加密保存,并且只能使用用户提供的特定密钥进行加密。
例如,AWS创建一个公钥对,以管理对虚拟机实例EC2的访问。他们使用公钥加密该实例的密码,用户只能提供私钥.PEM
来恢复该密码。在此处查看:https://nodejs.org/api/process.html#process_process_env