flask - 在 Flask-JWT-Extended 中外部存储 JWT 令牌
问题描述
我有一个使用 Flask-JWT-Extended 在 AWS 中运行的 Flask 应用程序。它正在为 Web 应用程序提供 REST API 调用。
正如我从文档中了解到的那样,令牌是生成并存储在内存中的。我正在考虑将它们存储在 Flask 应用程序外部的数据库或 Redis 中。这样做的原因是为了支持负载均衡:
- 我认为需要粘性会话来确保客户端的令牌可以被正确解码和分析有效性
- 我正在考虑将应用程序放在 AWS Lambda 中,一旦请求得到处理,它可能会清除 JWT 列表。
我的问题是:
- 有什么理由这个方案通常不会奏效吗?
- 如果令牌存储在 Flask 应用程序之外,则不清楚如何覆盖本地令牌存储并访问外部存储介质。这可以做到吗?
解决方案
令牌不存储在内存中。JWT 的工作原理是创建可以验证为未被篡改的令牌,而无需在服务器上保留任何状态(只需确保 JWT_SECRET_KEY 真正保密)。这是一篇关于无状态身份验证的文章,您可能想阅读:https ://blog.imaginea.com/stateless-authentication-using-jwt-2/
推荐阅读
- wordpress - Woocommerce:按评级过滤产品,STARS 没有阴影颜色
- python - 排除和过滤石墨烯 django 查询集
- python - 凯拉斯模型。拟合函数有值错误
- python - 如何在 Windows 上编译包含 Python.h 的 C 程序?
- scala - 为什么值方法不能在宏之外使用?
- android - 以编程方式更新图像宽度和边距
- html - 如何在我的 HTML 程序中实现背景颜色?
- hyperledger-fabric - Hyperledger Fabric(与许多组织的网络有多少对等点)
- android - 如何减少 RecyclerView 中各个 CardView 之间的空间?
- google-cloud-firestore - Firestore 安全规则 - 按位运算