1

作为 NestJS 使用 Passport JWT 进行身份验证的文档,流程如下:

  1. 客户端使用用户名/密码登录
  2. 如果用户名/密码有效,JWT 签署有效负载(使用预配置的安全密钥)以创建访问令牌并将此访问令牌返回给客户端
  3. 客户端使用访问令牌请求受保护的资源

因此,如果签署有效负载的安全密钥被黑客入侵,则可以为所有用户生成访问令牌,而无需使用密码。

我的上述理解是否正确?什么是更安全的建议?谢谢你。

4

1 回答 1

2

是的,如果密钥被泄露,攻击者可以为自己生成密钥。

尝试采用更安全的凭据存储。如果它有某种密钥轮换机制,那就更好了。例如,我在我的项目中为此目的使用AWS Secrets Manager 。

于 2021-03-16T10:26:24.193 回答