将身份验证令牌存储在持久存储中(NestJS)

问题描述 投票:0回答:1

背景 我正在使用 NestJS 处理我的应用程序的后端。我的应用程序还需要以编程方式发送电子邮件,我正在使用 Zoho(及其 API),因为这是我想为我的团队使用的电子邮件客户端。

问题 Zoho 使用 oauth 2.0 来保护其 API,而不是 API 密钥(可以存储在环境变量中)。每次服务器启动时,我都必须从我的 Zoho 帐户手动授权这些令牌,然后将它们存储在内存中(在帮助程序类中)。现在我正在部署进行测试,大多数服务都有旋转限制(服务器在一段时间不活动后旋转),这意味着令牌消失了。 存储这些令牌以便我可以在停转后访问它们的最佳方式是什么?或者我应该有更好的方法来处理这些令牌吗?

  1. 我考虑将它们写入磁盘并在服务器启动时读取它们(如果存在),但这会带来安全风险。 2/ 尝试寻找没有降速功能的服务,但没有找到最低预算的服务。
caching oauth nestjs persistence
1个回答
0
投票

当前将access_token和refresh_token加密为JWT后保存在数据库中。任何其他加密技术也可以工作,但我已经写出了 JWT 的服务。 这似乎足够安全,因为我的服务器是知道签名秘密的唯一来源,因此即使有人在服务器和数据库之间的传输过程中访问令牌,或者如果数据库受到损害,令牌也将毫无用处,并且我的邮件帐户仍然安全。

© www.soinside.com 2019 - 2024. All rights reserved.