【发布时间】:2021-10-03 14:28:56
【问题描述】:
我有一个具有 SecretKey 的 config.env 文件,每次我想从 JWT(令牌)解析/读取时都需要此密钥的值。
所以,我想到了2可能的方法:
-
在代码(.env 文件读取)执行时将 SecretKey 存储为 全局 变量,以便以后使用
我不知道这是否会超越拥有 .env 文件的全部目的 -
每次我想解析令牌时都从文件中读取。 (几乎是每个 API 调用)
那么,1 还是 2?
还是完全不同的东西?
PS 澄清一下,我不是在问是否可以将 env 替换为 global,而是在问我是否可以存储 部署/执行代码后,SecretKey 作为全局变量。
【问题讨论】:
-
为什么不能将它存储在全局变量中?尝试的时候有没有遇到什么问题?
-
值得注意的是:环境变量是一个Unix/Linux/others的概念,其中父进程将设置传递给子进程。这种情况只发生一次,在进程创建时。子进程可以随意使用或忽略这些变量,但是一旦创建了子进程,父进程就不能再更改这些(好吧,缺少调试器可能使用的那种深度操作系统魔法)采用)。然而,文件通常可以随时更改,以任何操作系统支持的文件锁定为模,因此
.env文件不同于环境变量。
标签: rest go jwt environment-variables global-variables