如何实现无状态的flask webapp

问题描述

我正在为一个无状态的 Flask 应用程序而苦苦挣扎。通常我使用flask-login 来处理所有的用户管理。但是现在我需要做这个无状态的,因为应用程序应该在云运行上运行。所以它必须是无状态的。

我包含的 RestAPI 工作得很好(我在那里使用令牌)。但是我怎么能处理前端的无状态部分呢? 我怎样才能在请求中获取用户信息?在无状态服务器上,我无法使用客户端会话,因为我无法在请求中验证它?我也不能使用我可爱的 ​​current_user 变量 :(

有什么帮助吗?

帕斯卡

解决方法

有多种类型的身份验证,Flask-Login 使用一种名为 session authentication 的身份验证,如果您想让您的应用无状态,您应该使用 token authentication,如 OAuth2 或 JWT。看看 Flask-JWTFlask-JWT-ExtendedFlask-OAuthLib

但这并不意味着您必须重构您的应用程序,您只需从云提供商负载平衡器启用 sticky session 功能即可。

查看以下文档以在 AWS 上执行此操作:https://docs.aws.amazon.com/elasticloadbalancing/latest/application/sticky-sessions.html