问题标签 [pyjwt]

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 回答
1596 浏览

python - Flask 重定向时返回 JWT 令牌

我一直在关注这个 Flask pyjwt指南,但是我的 web 应用程序有点类似于Miguel 的微博示例,它使用render_template()redirect(url_for(...))导航。

我已经在我的应用程序中实现了编码和解码服务,但是我不知道如何正确地将编码的 JWT 令牌返回给用户redirect()

我的代码如下:

我的问题是将身份验证令牌放在重定向方法中会导致页面显示“正在重定向...如果不单击此处,您应该被重定向”,这是我不想要的。我并不特别希望将我的重定向方法更改为类似于make_response(jsonify(...))当这是一个简单的登录页面时我需要在前端处理这些响应的方法。

我应该如何正确地将身份验证令牌返回给客户端?

0 投票
1 回答
2409 浏览

python - 如何在我的应用程序中从使用 Flask-JWT 迁移到 PyJWT?

我想从使用 Flask-JWT 切换,因为它不再被更新。我的问题是我不确定如何实现 Flask-JWT 给我的一些功能。例如:

jwt = JWT(app, verify, identify)

使用 Flask-JWT,我可以传递烧瓶应用程序、身份验证方法和identify执行以下操作的函数:

现在我的主要问题是我不完全理解装饰器的@jwt_required()作用以及如何使用 PyJWT 复制它。所以如果我有以下功能:

我怎么能做与@jwt_required()使用 PyJWT 时相同的功能?

0 投票
0 回答
545 浏览

python - 使用 PyJWT 解码和验证 Base64urlUInt 编码的 Google 公钥

我正在尝试访问并验证 Google 的 OAuth API 响应的 id_token 属性:

获得我的 id_token 值后,我从他们的OpenIDConnect URI中获取 google 的公钥,可以从他们的openid-config 页面获得非永久链接

根据 Google & Specification RFC 7518,“n”参数是“模数”,一个 Base64urlUInt 编码的值。因此,当我尝试使用 pyJWT 对其进行解码和验证时,我得到以下 Traceback & Error:

请记住,当我使用 pyJWT 的其他跳过验证的方法时,我仍然可以轻松地从 id_token 中获取标头/有效负载(这意味着问题在于公钥,而不是 id_token)。所以我的主要问题是:如何在 Python 中解码/使用这个 Base64urlUInt 编码的值?模数还不够吗?此公钥的“e”或指数值是 AQAB,不确定这是否重要。

0 投票
1 回答
13811 浏览

python - PyJWT 引发签名验证失败

我正在尝试验证由 ThingsBoard 发布的 JWT。但验证失败Signature verification failed

我的测试代码在下面。

我检查了签名是在 jwt.io 上验证的,唯一的区别是在 jwt.io 上编码的秘密 base64

在此处输入图像描述

我在猜测秘密 base64 编码造成了这种差异。
我该怎么做?

0 投票
1 回答
3230 浏览

ruby - 无法解码 JSON Web 令牌

我正在尝试将 GitHub Apps 示例启动代码从 Ruby 移植到 Python,但是在生成所需的 JWT 时遇到了麻烦。Ruby 脚本看起来像这样,并且工作正常:

我的 Python 脚本如下,A JSON web token could not be decoded在针对 GitHub API 使用时会产生错误:

当我尝试从两个脚本打印私钥时,我发现 Ruby 版本有一个额外的换行符。我尝试将其添加到 Python 脚本中的私钥中,但它并没有改变输出。

我最好的猜测是差异与OpenSSL::PKey::RSA.new调用有关,但我不确定这对密钥有什么作用。

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 回答
439 浏览

python - 如何在 pyJWT 中使用列表或字典作为命令行参数

以下 python 代码使用以下代码生成有效的 JWT 令牌pyjwt

pyjwt还支持从命令行界面调用。但是文档只显示了具有=分离键值对的示例,而不是嵌套有效负载的示例。

我最好的猜测是这样的:

这没有用。它根本不支持吗?

0 投票
2 回答
8060 浏览

python - 如何使用 pyJWT 验证此 JWT 上的签名?

我收到了一个 JWT 令牌。我有兴趣打开它并验证它的内容。

我想使用pyJWT库来做到这一点。请看下面的小程序。

我已经成功地对我的 JWT 进行了 base64 解码。我已经从网上检索到匹配的 JWK。但我不知道接下来要做什么来验证签名。

当我尝试执行jwt.decode()以下操作时,出现错误jwt.exceptions.DecodeError: Not enough segments

下面是完整的输出。请告诉我如何验证签名。我还没有在网上找到任何对我有用的 python 示例。

0 投票
1 回答
792 浏览

django - 如何在 Django 和 Python 中使用 JWT(JSON Web 令牌)来创建用于注册和登录的 REST API

我正在尝试在 Django 项目中实现 JWT(JSON Web 令牌)。但我无法达到同样的效果。您能否帮助我提供一些教程或提示或链接来学习相同的内容。

我尝试在我的项目中使用 pyjwt,但是每次我点击 API 时生成的令牌对于相同的用户电子邮件地址和密码都是相同的。

0 投票
1 回答
2055 浏览

python-3.x - 如何在 python 3.7 中编辑 JWT 标头?

我正在尝试编写一个程序,该程序将尝试通过单词列表暴力破解用于在 JWT 令牌中签名签名的秘密。

问题是,每当我使用 PyJWT 生成令牌时,标头(在 base64 解码之后)是:{"typ":"JWT","alg":"HS512"} 但我尝试破解的大多数 JWT 令牌都具有以下标头:{"alg":"HS512","typ":"JWT"}

这是我得到的令牌:

正如所料,散列签名会有所不同,我的程序将无法正常工作,我知道可以在标头中添加更多数据,但不知道如何在“typ”和“alg”之间切换。

任何帮助将不胜感激,最好是我想继续使用 python 而不是更改为不同的编程语言。