问题标签 [flask-jwt-extended]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1455 浏览

python - 使用模板渲染实现 flask_jwt_extended

再次尝试制作我的第一个烧瓶应用程序,这一次,(在我创建了所有我需要的并且一切顺利之后)我试图用 保护一些端点flask_jwt_extended,但我找不到如何在我的页面中使用它们,文档主要是关于显示 JSON 消息,一些教程使用邮递员,而在我的情况下,我使用的是 HTML 模板。
例如,用户将他的凭据从登录页面发送到此端点:

当然,我在端点添加了@jwt_required装饰器:results

所以我得到一个{ "msg": "Missing cookie \"access_token_cookie\"" }
显然是因为我没有将 jwt 发回,但是如果在 return 语句中发送它,我该如何将用户重定向到我想要的页面?
事实上我用过app.config['JWT_TOKEN_LOCATION'] = ['cookies']

0 投票
1 回答
999 浏览

flask - Flask-Admin 中使用 JWT 身份验证的“标头中缺少 CSRF 令牌”

我正在编写一个 Flask 后端来通过 JWT 提供具有身份验证的 RESTful API。

我正在使用 Flask-Admin 作为管理员,为了使用单一身份验证方法,我也想使用 JWT 身份验证。

我向 Flask-Admin 添加了一个简单的登录表单,用于在 cookie 中设置 JWT 令牌。

create_form在my 的方法中的请求中找到并正确解码了 JWT 令牌sqla.ModelView,但是在发布表单时(通过单击save我的创建表单的按钮,我收到 401 错误:“在 headers 中缺少 CSRF 令牌

有人可以帮忙吗?

登录路径

Flask-Admin 视图

日志

0 投票
1 回答
219 浏览

python - flask-jwt-extended 库中的黑名单是否有宽限期?

我正在为每个请求刷新访问令牌并将前一个令牌列入黑名单。问题是如果有多个连续的请求,第一个令牌会被下一个请求失效。flask-jwt-extended 中是否有在将令牌列入黑名单之前实现宽限期的功能?

我正在阅读文档,但找不到此功能。你们能指导我走向实现目标的正确道路吗?

0 投票
1 回答
1024 浏览

python - 为 flask-jwt-extended 获取其他用户 jti

如何获得'jti',不是我的,而是通过“用户名”?在注册/登录时,用于访问和刷新的 jti 被分配给“用户名”。所有说明和文档仅说明如何让我自己的 jti 以 smth 注销。像这样的代码:

如何为其他用户获取 jti。我想像:

必须为此而存在,谁知道???

0 投票
3 回答
1557 浏览

python - 如何在请求上下文之外伪造 JWT 授权并获取当前身份?

我正在使用 JWT 授权创建一个 Flask 应用程序,并尝试使用 PyTest 测试服务。

我成功地将测试添加到端点,但是当我尝试为某些功能添加单元测试时,我无法访问当前用户,因为flask_jwt_extended.get_current_user()返回 None。

这是一个简单的例子:

当我使用 app_context 授权和发送请求时,它可以工作:

但我需要的是在create不向客户端发送请求的情况下测试功能。在这种情况下flask_jwt_extended.get_current_user()返回无,所以我认为我应该在运行这个函数之前以某种方式设置请求上下文。

我试着这样做...

但仍然得到current_user的是None

这就是我获得令牌的方式:

0 投票
2 回答
3686 浏览

python-3.x - flask_jwt_extended 在解码我的 JWT 时抛出错误。我怎样才能捕捉到它?

我在尝试在我的应用程序中捕获格式错误的 JWT 错误时遇到问题。

我正在使用 flask_jwt_extended 并且当我发送手动创建的 JWT 时。我收到此错误消息:

我的令牌就是这个

AUTH_T 错误令牌

哪个应该失败。

我创建了一个具有相同错误的项目:

应用程序.py

资源.py

这很奇怪。从我读过的内容来看,我所做的应该已经解决了这个问题,但似乎问题仍然存在。有人对修复有任何想法吗?如果有人运行它,它会起作用吗?

德斯蒙德

0 投票
1 回答
1930 浏览

python - 未在浏览器中设置身份验证登录 Cookie - Flask 后端 API + Angular 7 前端

我正在使用带有 Angular 前端的 Flask 后端 API 构建 Web 应用程序。API 在http://localhost:5000上运行,前端在http://localhost:4200上运行。

由于某种原因,浏览器中没有设置 cookie。浏览器标题似乎是正确的,但是当我检查 chrome devtools --> Application --> Storage --> Cookies 时,我看不到任何设置的 cookie。

我在这里想念什么?

相关python部分:

相关角部分:

auth.service.ts

浏览器标头

0 投票
2 回答
3384 浏览

flask - 带有 flask-jwt-extended 的 Api 存在身份验证问题?

我已经用 flask-restful 和 flask-jwt-extended 构建了一个 api,并正确配置了令牌过期和失效的验证通道。但是,即使构建了token过期和无效验证回调,api也没有正确处理并报错:Signature has expired

在云中的服务器上,我们有一个 Centos 7 x64 的 16GB 内存,使用版本 19.9.0 的 gunicorn 运行应用程序。使用 miniconda 创建应用程序的 python 环境。

在生产环境的测试中,应用程序抱怨令牌过期。但是在测试环境中,使用 Ubuntu 18.04.2、x64 和 16 gb ram,使用与 miniconda 和 gunicorn 相同的设置,应用程序执行它没有问题,在令牌过期时返回正确的消息。

我的 jwt.py

错误日志:

我试图理解为什么应用程序能够在测试环境中正确返回令牌过期消息,而在生产环境中它返回错误代码500 Internal Server Error。除了在我们的应用程序中解决这个问题。

0 投票
1 回答
443 浏览

python - 使用 JWT-Extended 生成 JSON Web 签名以供用户确认

我正在为即将到来的项目构建一个 RESTful API。这需要某种用户帐户验证。我之前使用 itsdangerous 实现了一个基于令牌的确认程序。但我想知道我是否可以通过使用 JWT-Extended 来完成同样的任务,因为它已经是我应用程序的一部分,我希望尽可能少地保持依赖项的数量。

我可以为此使用普通的 access_token 吗?

我感谢您的帮助!

编辑:

我实现了以下两种方法,它们似乎有效。我只是不确定,如果这被认为是好的做法。

0 投票
1 回答
1182 浏览

python - flask-jwt-extended TypeError:“函数”类型的对象不是 JSON 可序列化的

我正在尝试使用 flask_sqlalchemy 和 flask_jwt_extended,marshmallow 对 API jwt 进行身份验证,以验证输入数据登录路径以获取令牌:

当我通过邮递员在“/login”路线发送json输入以获取令牌时,我收到此错误返回:

TypeError:“函数”类型的对象不是 JSON 可序列化的

我究竟做错了什么 ?感谢

编辑 这里的输入 json 与我的数据库中的相同