问题标签 [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 回答
4465 浏览

python - 如何使用 Flask 和 flask_jwt_extended 进行自定义 JWT 验证?

我想在调用 @jwt_required 时向令牌添加额外的验证。我想验证其中一项声明。有没有我可以用 JWTManager 做到这一点?

目前我的代码只是调用:

我用以下方式装饰功能:@jwt_required

0 投票
1 回答
329 浏览

flask - Flask-jwt-extended 不支持要求的声明?

我在 flask-jwt 上使用 flask-jwt-extended 但似乎不支持要求索赔。

这是我必须在新的身份功能中实现自己的东西吗?如果是这样,我如何覆盖 flask-jwt-extended 中的现有功能?

0 投票
2 回答
11357 浏览

python - Flask JWT 在每个请求上扩展令牌的有效性

设想

登录用户的令牌有效期为 24 小时。在此期间,所有带有@jwt_required装饰器的请求都将使当前访问令牌的有效期再延长 24 小时。最长有效期为 168(24 * 7) 小时。

可以使用 access_token 和 refresh_token。

但这意味着来自我的应用程序的每个 API 调用都将是两个请求: 1. 实际 HTTP 请求 2. 刷新身份验证令牌

有没有办法隐式扩展身份验证令牌?

0 投票
5 回答
9057 浏览

python - flask-jwt-extended:测试期间的假授权标头(pytest)

这是我要测试的功能

我从 pytest 类调用函数

db_session夹具

这导致错误

手动调用create_access_token

当我调用create_access_token上面的夹具时,我仍然得到相同的结果

如何在测试期间伪造 JWT 令牌pytest

0 投票
1 回答
681 浏览

python - flask jwt 扩展了如何通过观众

我试图将观众作为参数传递给flask jwt扩展用于解码jwt令牌,我的代码是这样的,

当我打电话给我的 api 我得到

我知道,我们必须提供观众价值。但是我不知道如何让观众jwt_required进来flask_jwt_extended。有人能帮我吗?

0 投票
2 回答
4297 浏览

python - flask-jwt-extended:自定义错误消息

当 flask-jwt-extended 令牌过期时,一个 HTTP 请求将产生这个 JSON 响应

我的应用程序有一个固定的错误响应格式:

如何自定义 flask-jwt-extended 错误响应?

0 投票
1 回答
405 浏览

curl - 为flask-jwt生成令牌给出不正确的方法错误

我在我的项目中使用了flask-jwt,我已经声明controller.py

然后在api的view.py模块上我有这个

我使用电子邮件作为用户名概念,我没有向用户询问他的用户名,而是使用用户的电子邮件地址作为用户名,并且我已经models.py像这样定义了表格:

但是使用上面的方法我不断收到错误方法不允许,如果我尝试使用 POST 我得到错误提示 failed to decode <p>Failed to decode JSON object: No JSON object could be decoded</p>

我很困惑发生了什么事,办公室的类似设置正在工作,但我从我能记得的头顶上实现了..似乎我错过了一点。

0 投票
0 回答
2312 浏览

flask - flask-restplus 的 api.header 装饰器不适用于 swagger 文档

我有一个简单的 API GET 方法,它在终端中返回 IP 列表,实现工作正常,我可以使用 JWT 令牌来获取 IP 列表。但是,当我在 Swagger 文档页面上使用 TRY-OUT 按钮尝试相同的操作时,它会永远挂起。 在此处输入图像描述

这是实现:

我错过了什么:

0 投票
2 回答
2410 浏览

python - 将 flask-jwt-extended 回调与 flask-restful 和 create_app 一起使用

我正在尝试使用 flask-jwt-extended 为我的烧瓶 API 创建 API 令牌。我正在尝试初始化token_in_blacklist_loader但无法找出正确的方法。

问题在于它token_in_blacklist_loader是作为装饰器实现的。它应该以下列方式使用:

^来自这里的文档

其中jwt定义为:

但是如果使用该create_app模式,那么jwt变量会隐藏在函数中,并且不能在装饰器的全局范围内使用。

解决此问题/解决此问题的正确方法是什么?

0 投票
0 回答
490 浏览

python - 在 HTML 表单中使用双重提交的 CSRF 令牌(标题 + cookie)?

我正在使用flask-jwt-extendedJWT 身份验证的组合,并且我启用了 CSRF 保护,这意味着对于某些 HTTP 方法(PUT、POST、DELETE...),需要 cookie 中的值和 HTTP 标头匹配。

这适用于我的 API 请求,我只是在 JS 中构造 HTTP 请求并正确设置了标头,但我想使用 Flask-Admin,并允许基于 JWT 令牌进行访问。我通过is_accessible在 Flask-Admin 的 ModelView 中装饰函数@jwt_optional并在其中检查来做到这一点。

但是,现在当我尝试通过 Flask-Admin 执行任何修改时,我从 收到一条错误消息flask-jwt-extended,指出我没有正确包含我的 CSRF 令牌。这是真的,因为我使用的是 Flask-Admin 附带的默认表单。

我的问题是,最好的解决方案是什么?是否可以仅对某些路径禁用 CSRF 保护?(并为他们启用 Flask-Admin 自己的 CSRF 保护?)我是否应该修改视图并插入由提交按钮触发但实际上提交 XmlHTTPRequest 的 JS?我应该以不同的方式为 Flask-Admin 视图实现 JWT 身份验证吗?