在 Flask-JWT-Extended 中外部存储 JWT 令牌
Storing JWT tokens externally in Flask-JWT-Extended
我在 AWS 中有一个使用 Flask-JWT-Extended 的 Flask 应用程序 运行。它正在为 Web 应用程序提供 REST API 调用。
据我从文档中了解到,令牌是生成并存储在内存中的。我正在考虑将它们存储在 Flask 应用程序外部的数据库或 Redis 中。这样做的原因是为了支持负载均衡:
- 我认为需要使用粘性会话来确保可以正确解码和分析客户端的令牌的有效性
- 我正在考虑将应用程序放在 AWS Lambda 中,这可能会在处理请求后清除 JWT 列表。
我的问题是:
- 为什么这个方案通常不会奏效?
- 如果token存储在Flask app外,不清楚如何覆盖本地token存储,访问外部存储介质。这能做到吗?
令牌未存储在内存中。 JWT 的工作原理是创建可以验证未被篡改的令牌,而无需在服务器上保留任何状态(只需确保将 JWT_SECRET_KEY 真正保密)。这是一篇关于无状态身份验证的文章,您可能想继续阅读:https://blog.imaginea.com/stateless-authentication-using-jwt-2/
我在 AWS 中有一个使用 Flask-JWT-Extended 的 Flask 应用程序 运行。它正在为 Web 应用程序提供 REST API 调用。
据我从文档中了解到,令牌是生成并存储在内存中的。我正在考虑将它们存储在 Flask 应用程序外部的数据库或 Redis 中。这样做的原因是为了支持负载均衡:
- 我认为需要使用粘性会话来确保可以正确解码和分析客户端的令牌的有效性
- 我正在考虑将应用程序放在 AWS Lambda 中,这可能会在处理请求后清除 JWT 列表。
我的问题是:
- 为什么这个方案通常不会奏效?
- 如果token存储在Flask app外,不清楚如何覆盖本地token存储,访问外部存储介质。这能做到吗?
令牌未存储在内存中。 JWT 的工作原理是创建可以验证未被篡改的令牌,而无需在服务器上保留任何状态(只需确保将 JWT_SECRET_KEY 真正保密)。这是一篇关于无状态身份验证的文章,您可能想继续阅读:https://blog.imaginea.com/stateless-authentication-using-jwt-2/