问题标签 [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 投票
1 回答
2139 浏览

java - 在 Java 中使用 Python 创建的 JWT Token

我有一个有趣的问题。我将 python 与 Flask 一起用于身份验证服务,该服务使用 flask_jwt_extended 生成 JWT 令牌。这就是我使用 Flask JWT Extended 在 Python 中生成令牌的方式。

在配置中,我指定了 JWT 密钥和 JWT 算法:

在 Java 中,我使用 jjwt 库(io.jsonwebtoken、jjwt、0.9.0)来解码我制作的 JWT:

但是在Java中,如果我运行这个我会得到一个异常,我真的不明白问题是什么,因为算法和令牌是一样的。

几个小时以来,我现在试图找出问题所在,因为这对我来说毫无意义,

例外:

0 投票
3 回答
2409 浏览

flask - 在登录之前如何检查用户是否使用 flask-jwt-extended 登录?

我正在使用 flask-restful 开发一个 API。我想确保当用户登录时,除非他先注销,否则他无法再次登录。我正在使用 flask-jwt-extended 并且想知道是否有办法在尝试登录之前检查用户已经登录的位置。

0 投票
1 回答
432 浏览

python-3.x - jwt python无法向用户添加令牌

我正在做一个简单的项目,我想在其中添加 jwt 身份验证。当我登录时,我尝试创建一个新令牌,但是当我试图查看谁是使用该令牌的用户时,它说该令牌丢失了。

我在 Postgresql 中使用 Flask 和 SQLAlchemy

应用程序.py

add_user.html

0 投票
2 回答
1825 浏览

python-3.x - Flask JWT 扩展 cookie 名称覆盖 Flask 会话 Cookie 名称

我正在为烧瓶使用 Flask JWT 扩展扩展,并使用 JWT 成功构建了一个登录应用程序。我已经使用 CSRF 保护和所有内容在 JWT 扩展文档站点上的Cookies 中浏览了有关 JWT的教程。

我似乎无法弄清楚的是,当使用 set_access_cookies() 和 set_refresh_cookies() 方法时,JWT 不会保存在使用 JWT 扩展默认配置设置命名的 httponly cookie 中。

相反,当我调试从 auth 调用返回的返回时,cookie 会保存在基本 Flask 默认配置中。

只要确保在 JWTManager() 中注册我的应用程序,set_access_cookies() 和 set_refresh_cookies() 方法是否应该覆盖基本的 Flask 默认配置?

还是我在基本 Flask JWT 扩展文档中遗漏了其他内容,以确保在适当时使用其配置默认值?

通过请求更新代码。

代码非常分散,但这是我最好的选择,包括我认为会有所帮助的内容。

init.py 中

在我的 app.py 中:

在我的 config.py 中,因为我使用的是 Flaskconfig.from_objects

因此,在包含我的登录授权 POST 的 Flask MethodView 中,我有以下内容:

授权文件

0 投票
1 回答
3220 浏览

ajax - What's the most secure way to store a jwt and still be able to access it from javascript?

I'm working with Flask and restful API to handle my user management calls. Example scenario: Let's say I'm using JWTs to secure my reset password end-point. I experimented with a less secure method, for now, where I grab the token as a part of the response from the previous endpoint, and pass it as a bearer token, I still happen to get a 401 Unauthorized error. Although, I can see from client-side debugging, that the token is getting passed in the header. Ideally, I want to send a post request with Authorization HTTP header and Bearer Authentication scheme and pass this token from the httponly cookie.

The following are the questions I have:

Should I store the token in an HttpOnly Cookie or Localstorage? If I'm using an HttpOnly cookie, how can I access my token from inside the ajax call? What's the best way to use JWTs for user-related functionalities (like reset password, email confirm, etc) other than auth?

I want to ensure I don't compromise on security standards while I accomplish all this.

0 投票
1 回答
1243 浏览

javascript - 如何重定向到受 JWT 保护的页面

用户在登录页面中输入凭据后,我将从服务器收到的 JWT 令牌保存在本地存储中。使用 window.location.replace(url) 重定向到受保护页面时如何使用此令牌。还是我应该使用另一种方法?我的后端是 Flask,如果这很重要的话

0 投票
1 回答
2655 浏览

flask - 手动验证 flask-extended-jwt 的访问令牌

我有一个 SPA 应用程序,其中包含一个带有上传文件字段的表单。我有一个休息 API,其端点通过 flask-extended-jwt JWT 保护。为了验证 REST 端点,我使用 @jwt_required。我也想验证上传请求。

由于客户端的原因,我无法添加 Authorization Bearer 标头,因此我想在提交表单时将访问令牌添加为隐藏字段。

从表单中读取 JWT 访问令牌后,手动验证 JWT 访问令牌的最佳方法是什么?

谢谢

0 投票
2 回答
462 浏览

python-2.7 - flask-jwt-extended 始终为 /login 请求提供相同的令牌

jwt-flask-extended 始终为任何用户发回相同的访问令牌。我已将 Flask 与 apache 集成。使用 Python 2.7.5,操作系统 - Red Hat Enterprise Linux Server 版本 7.3 (Maipo)。找到下面的代码。

0 投票
1 回答
1607 浏览

access-token - 将jwt令牌存储到python烧瓶restplust中的cookie中以用于登录api

我已经使用flask-restplus和flask_jwt_extended编写了用于登录和注销的REST API,我实现了无缝工作的jwt access_token生成,但现在我需要将令牌存储到cookie中。

我的代码是这样的:

api/用户/resource.py

auth_helper.py

但是上面的代码给了我错误:

如果我不使用 jsonify(..) 我会收到错误dict object does not have set_cookie attribute,这很明显,因为set_access_cookie期望响应对象不是普通的 dict

0 投票
1 回答
852 浏览

curl - 如何从 curl 请求中设置浏览器 cookie

经过大量的头撞和大量的时间浪费后,我了解到,如果我curl用来测试将令牌存储到 cookie 中,如flask_jwt_extended 网站上所示

cookie 没有被设置,但如果我在浏览器中使用 RESTClient,cookie 会被设置。

我试过这个卷曲:curl -H "Content-Type: application/json" -X POST -d '{"username":"test","password":"test"}' http://localhost:5000/token/auth