0

我有一个使用 Flask-JWT-Extended 在 AWS 中运行的 Flask 应用程序。它正在为 Web 应用程序提供 REST API 调用。

正如我从文档中了解到的那样,令牌是生成并存储在内存中的。我正在考虑将它们存储在 Flask 应用程序外部的数据库或 Redis 中。这样做的原因是为了支持负载均衡:

  • 我认为需要粘性会话来确保客户端的令牌可以被正确解码和分析有效性
  • 我正在考虑将应用程序放在 AWS Lambda 中,一旦请求得到处理,它可能会清除 JWT 列表。

我的问题是:

  • 有什么理由这个方案通常不会奏效吗?
  • 如果令牌存储在 Flask 应用程序之外,则不清楚如何覆盖本地令牌存储并访问外部存储介质。这可以做到吗?
4

1 回答 1

1

令牌不存储在内存中。JWT 的工作原理是创建可以验证为未被篡改的令牌,而无需在服务器上保留任何状态(只需确保 JWT_SECRET_KEY 真正保密)。这是一篇关于无状态身份验证的文章,您可能想阅读:https ://blog.imaginea.com/stateless-authentication-using-jwt-2/

于 2020-02-02T03:31:57.630 回答