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