如何在 express 中生成和设置 `JWT_SECRET` 和 `JWT_EXPIRATION_TIME`

How to generate and set `JWT_SECRET` and `JWT_EXPIRATION_TIME` in express

当我 运行 我的服务器时,我遇到了以下错误。

Error: Config validation error: "JWT_SECRET" is required. "JWT_EXPIRATION_TIME" is required

所以我必须设置JWT密钥等等。

我想知道如何设置JWT_SECRET。但我不知道如何生成和设置它们。

我设置了.env文件,我必须在其中配置一些变量。

我的.env 文件如下。

.env

JWT_SECRET=
JWT_EXPIRATION_TIME=

如果有人知道生成SECRET的好方法请告诉我。

谢谢

非常简单,您只需将其添加到您的 .env 文件

JWT_SECRET=  any text or number you want to add here to create jwt Token
JWT_EXPIRATION_TIME= you have to specify time limit like you want thattoken expire in 24 hours you have to add  60 * 60 * 24 or  86400 // 24 hours

并且没有其他方法可以生成secrert

正如@Arya 和@JaromandaX 所提到的,您必须在 JWT_SECRET 之后输入类似 JWT_SECRET=yourfavoritecolorJWT_EXPIRATION_TIME=3600 的内容。您可以在代码中使用 process.env.JWT_SECRETprocess.env.JWT_EXPIRATION_TIME.

调用它们

在 JWT 上查看这篇文章-Right way of implementing JWT

其他网友已经回答了如何设置的问题JWT_SECRET,我再补充一下如何生成。 @slebetman 给出了使用密码生成器生成字符串的好建议(它们既单独存在,也作为大多数密码管理器的一部分存在)。为此,我通常使用以下命令,我只需将其输入终端并将其复制到 .env 文件中:

openssl rand -base64 172 | tr -d '\ n'

其中172是生成的字符串中的字符数(选择你想要的)。

希望对您有所帮助:)