问题标签 [flask-jwt]

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 投票
1 回答
1690 浏览

python-2.6 - 从 __init__.py 获取“无效语法”错误

我正在按照这个例子使用 Flask-JWT:

https://pythonhosted.org/Flask-JWT/

当我启动 uwsgi 时出现此错误:

我只使用了一周的 Python v2.6.6(针对 Centos 6.x每个客户规范),所以我仍然很熟悉它。结果,今天早些时候,我发现我的 virtualenv 中有多种 JWT-something,所以我删除了所有实例,只重新安装了 Flask-JWT。我曾认为问题是库冲突(可能更早),但我仍然收到此错误,其他人使用它没有问题。我做错了什么还是这个库根本不适合与 Python v2.6.x 一起使用?

[更新] 我已经在 CentOS 6 中从源代码编译了 v2.7.12,到目前为止它可以很好地满足我的需要。我找到了这些方向:

http://toomuchdata.com/2014/02/16/how-to-install-python-on-centos/

并且能够安装在备用目录中。

0 投票
1 回答
432 浏览

python - Flask-JWT 似乎无法识别 current_app

我想在我的应用程序中使用 Flask-JWT。当我尝试使用 初始化它时current_app,出现错误。到目前为止,我一直在current_app成功地使用代替app = Flask(__name__)所以这有点出乎意料。有什么我想念的吗?

main.py

api_auth.py

0 投票
0 回答
1254 浏览

python - 对 Flask-Jwt /auth 端点的内部 Flask POST 请求不成功

我今天来找您的问题似乎很烦人并困扰了我 1 周(也许更多)。

我实现了 Flask 和 Flask-JWT 来创建一个令牌并在我的网络应用程序的不同部分使用它。过程是:用户将凭据放在表单上,​​当他登录时,通过向 Flask-JWT /auth 端点发出 POST 请求来创建令牌。

问题是 :

  • 当用户登录时,代码的令牌创建部分(对 /auth 端点的 POST 请求)似乎处于无限循环中。

代码停在:“ r = requests.post(url, headers=headers, data=payload)

有趣的是,如果用户登录并转到 /auth 端点之后,它就会创建令牌。

有人已经有这个问题了吗?

谢谢

项目/config.py

项目/应用程序/初始化.py

项目/应用程序/用户/views.py

0 投票
0 回答
151 浏览

python - Flask Restless 预处理器:GET_MANY 不起作用(使用 Flask-Security 验证 REST API)

文档不明确,有时会使用 GET_MANY 和其他 GET_COLLECTION。我需要做一个预处理器来授权。GET_SINGLE 确实有效(返回 401:禁止),但 GET_MANY 或 GET_COLLECTION 无效(返回 200:ok)。

0 投票
1 回答
5106 浏览

python - TypeError:使用 Flask-JWT 时需要字符串或字节格式的密钥

我有一个关于烧瓶 python 的问题。我尝试学习如何使用烧瓶构建网络,但出现了一些错误。在这种情况下,我使用 mongoengine 作为数据库和 JWT(Json Web Token),并且警报错误是这样的:“TypeError: Expecting a string- or bytes-formatted key”

我以为错误就在于此。

模型/用户.py

路线/用户.py

配置文件

http.py

0 投票
1 回答
713 浏览

authentication - 即使在请求中发送了assess_token,flask-jwt响应401 UNAUTHORIZED

我首先尝试使用flask 的内置服务器在本地机器上测试flask-jwt。我用我的用户名和密码请求 http:/localhost/auth 作为有效负载,它工作正常,我得到了一个令牌。然后我用这个令牌请求一个受保护的 API,比如使用“JWT access_token”作为授权标头。这在本地机器上运行良好。

然后当我将它部署在我的服务器上时。我仍然可以通过请求服务器/身份验证获取令牌,而在那之后,当我请求受保护的 api 时,即使令牌刚刚发布,我总是得到 401 UNAUTHORIZED 并且我以与本地计算机上相同的方式进行操作。

是因为我的服务器端存在一些与 cookie 相关的问题吗?

0 投票
1 回答
520 浏览

python-2.7 - Debug=False 时 Flask-JWT 生成错误

我在玩 Flask。我使用 Flask-Restful 和 Flask-JWT 创建了一个 API。

Debug=TrueFlask 中,并且我不发送授权标头时,我得到的响应为但是,当返回的响应是带有此堆栈跟踪的内部服务器错误时,在此处输入图像描述

debug=False


我希望 Flask-JWT 响应 Debug=True 时的响应。但是,我不能在生产服务器上使用调试。

一种方法是使用我自己的 jwt_required 装饰器。还有其他方法吗?

另外,如果有的话,我很高兴知道我缺少什么。

谢谢

0 投票
1 回答
2614 浏览

javascript - Flask JWT Extended set cookie错误

我创建了一个应该同时响应移动设备和网络浏览器的 API。例如,/web/toys对于 Web 和/API/toysJSON 响应。我正在使用 JW 令牌作为身份验证手段。
我在 HTML 和后台显示表单,我调用 jQuery Ajax 的方法来发布到我的 API。我将 access_tokens 保存在会话 cookie 中。为了防止 CSRF 攻击,我使用了 Flask-JWT-Extended。

当我装饰视图@jwt_required并将 CSRF 设置为 Truemissing JWT in headers and cookies时,即使设置和传输 cookie,我也会得到 。查了源码,发现X-CSRF-TOKEN在请求头中设置很重要。
但是,由于端点同时响应 GET 和 POST 调用,我如何在 GET 调用中设置标头而不使用 jQuery 加载完整页面。?
基本上,我想在网页上显示表单,当用户单击提交时,使用 jQuery 将表单传输到现有 API。
如果有更好的处理方式,我很想知道。
谢谢!

0 投票
1 回答
4069 浏览

python-3.x - 将 Flask 蓝图与 Flask-JWT 相结合

我正在开发一个Flask带有蓝图的 0.12 应用程序,并且我正在尝试使用Flask-JWT(0.3.2) 进行身份验证。

我看到的 Flask-JWT 教程都没有使用蓝图。

每个示例中通常都有一段代码,执行如下操作:

在蓝图烧瓶应用程序中,结构往往更像这样:

__init__.py

控制器/main.py:

控制器/grid.py:

控制器/地址.py:

我将如何Flask-JWT在控制器中引用和使用它的装饰器?

通过展示如何将 JWT 装饰器添加到标准示例(例如烧瓶源代码 o Michał Karzyński 的 REST API 演示中的blueprintexample ),可能会更容易回答这个问题。

0 投票
1 回答
1602 浏览

authentication - 使用 Vue.js 进行身份验证 | Flask-RESTful 和 Google 登录

我仍然是 Vue.js 和 Flask 框架的新手。我创建了一个简单的 todo 应用程序,它使用来自 Flask 的 JSON 端点并使用 Vue.js 来显示 UI。

我的应用有 TODO、PROJECT 和 USER 模型。我已经通过自己的用户模型成功实现了“正常登录”。这个流程:

  1. 用户填写用户名和密码。
  2. 对 Flask API 的 POST 请求,该 API 使用哈希密码将用户保存在数据库中。
  3. 用户可以通过 /auth 端点登录并收到 JSON Web 令牌作为回报。
  4. 当用户注销时,令牌被销毁。

现在我想实现一个谷歌登录以及现有的用户模型。我可以成功创建对 google API 的调用,并在 vue.js 客户端中从 google 检索用户数据。但这就是我卡住的地方。

  • 我现在应该在我的数据库中保存什么?我没有用户密码,只有一个令牌,以便稍后在我将数据发送到 Flask 服务器时进行识别。
  • 我应该将 Google Auth 用户和普通用户都保存在同一个数据库表中吗?当我检索他们的信息以检查用户是否存在时,如何区分它们?

由于我非常关心将来构建安全的应用程序,因此我想真正了解在这种情况下的最佳实践是什么。

谢谢你的帮助!