使用Vue和Flask时,应如何存储用户会话?

时间:2019-02-17 00:38:30

标签: vue.js flask web-applications flask-login

我目前正在开发一个应用程序,用户可以从Firebase登录并访问其数据。该应用程序以前只是Flask应用程序,因此我使用flask_login来帮助跟踪用户会话。

但是,我现在正在尝试将Vue用于前端(包括路由),因此从技术上讲,我们将运行Vue应用以及Flask应用,其中Vue应用将向Flask发出GET请求应用程式。我在Vue中找到了tutorial进行身份验证。我想知道我是否同时需要flask_login。如果是这样,那会是什么样?

1 个答案:

答案 0 :(得分:1)

真的很晚,但既然没有回答,我就试一试:

我建议使用 JSON 网络令牌 (JWT)。 This post 的解释可能比我以往任何时候都好。

基本流程是:

在 [flask] 后端,每个需要保护的 API 调用都会有一个装饰器(类似于@login_required)来保护资源不被未经身份验证的用户访问。对于要进行身份验证的用户,他们需要从“/login”中获取信息,服务器将使用令牌进行响应,并将其存储在内存中。此令牌需要与任何后续 API 调用一起发送。当用户退出时,只需将前端的令牌作废即可。

在我的设置中,我使用了 Flask-jwt-extended,而在 vue 上,只需确保您存储了令牌,如果没有,则呈现登录模式或弹出窗口或重定向到登录页面。

阅读我提到的帖子以了解 JWT 刷新流程。

相关问题