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

python - 如何确定 PyJWT 的版本?

我有两个不同的软件环境(Environment AEnvironment B),我正在尝试在这两个环境上运行 PyJWT。它在一个环境Environment A上运行良好,但在Environment B上失败。

当我使用==调用时,我在环境 B上遇到的错误是:.jwt.encode()algorithmESAlgorithm not supported

我试图弄清楚为什么它适用于Environment A而不是Environment B。似乎这两个环境安装了不同版本的 PyJWT。但是确定在环境 B上安装了哪个版本的 PyJWT对我来说很难。我该怎么做??

我在Environment AEnvironment B上运行了以下检测代码:

Environment A上,编码成功:

环境 B上,编码失败。您可以看到我无法分辨正在运行的 PyJWT 版本。但是,此版本的 PyJWT 没有ES256我尝试使用的算法:

0 投票
1 回答
765 浏览

amazon-web-services - 如何从外部验证已使用 RSA 私钥签名的 JWT 令牌

我有一个来自 AWS Cognito 的 JWT 令牌。令牌是通过调用 getOpenIdTokenForDeveloperIdentity 获得的,我正在使用 AWS Cognito Developer Authenticated identity 的流程

该令牌使用 SHA512 进行哈希处理,并使用我正在使用的区域/区域的 Amazon RSA 私钥进行签名。

如何使用 python 从外部验证签名?

0 投票
1 回答
13280 浏览

python - Jupyter 中的“ImportError:没有名为‘jwt’的模块”

我正在尝试将 jwt(JSON Web 令牌)导入 Python。

之后,我已经安装了该软件包。该包似乎也可以在终端 python 环境中导入。

但是,当我尝试在 Jupyter 中导入 jwt 时,出现此错误:

如何让模块在 Jupyter 中导入?

0 投票
1 回答
468 浏览

python - 2015 年在 PyJWT 中发现的漏洞

只是想使用 PyJWT 库确认与 Flask-JWT 相关的内容。早在 2015 年 ( https://auth0.com/blog/critical-vulnerabilities-in-json-web-token-libraries/ ) 就发现了 PyJWT 的漏洞问题。

我不确定现在是否已经为 Flask-JWT 修复了这个问题,或者仍然需要解决这个问题?那里找不到太多信息。

有人对这个有了解吗?

0 投票
2 回答
3822 浏览

jwt - 在python中转换由Java JWT创建的JWT令牌

我收到了一个由 java 程序使用 jjwt 模块创建的 JWT 令牌。现在,当我尝试使用 pyjwt 验证令牌时,它会引发异常。

回溯(最后一次调用):文件“”,第 1 行,在文件“/Applications/anaconda/envs/modulename/lib/python3.5/site-packages/jwt/api_jwt.py”中,第 64 行,在解码选项中, **kwargs) 文件“/Applications/anaconda/envs/modulename/lib/python3.5/site-packages/jwt/api_jws.py”,第 116 行,在解码密钥、算法中)文件“/Applications/anaconda/envs /modulename/lib/python3.5/site-packages/jwt/api_jws.py",第 186 行,在 _verify_signature 中引发 DecodeError('签名验证失败') jwt.exceptions.DecodeError:签名验证失败

如果我在 jwt.io 中使用相同的令牌,并选中 base64 加密选项,它似乎可以工作。

0 投票
4 回答
6616 浏览

django - 没有用户模型的 Django 基于令牌的身份验证

我正在使用基于 Django 令牌的身份验证。(JWT Token 由 AWS Cognito 等第三方服务生成,我们只验证签名和到期时间)。

这个 REST 应用程序不会有任何用户模型,任何使用 API 调用的人都只需要通过 JWT 令牌进行身份验证。

在视图中:

上述过程根本不跟踪 Token。有/无令牌,API 调用正在工作。如果我进行如下两项更改,则它正在工作。

一种方法是,在我的应用程序中至少拥有一个用户并引用该用户[此 Web 应用程序可能会在需要时扩展到任意数量的实例,因此必须自动插入具有相同“用户名”的同一用户。]。但是,我可以消除身份验证中的“用户”概念吗?

0 投票
2 回答
5256 浏览

python - Python JWT 库 PyJWT 使用 HS256 签名时遇到问题 - 使用 SHA-256 哈希算法的 HMAC

尝试使用该PyJWT库生成 JWT 令牌。

当我使用以下程序生成 JWT 令牌时 - 令牌不起作用。

但是,当我使用 具有相同详细信息的网站https://jwt.io/时 - 令牌有效。有什么我想念的吗。

我需要 python 正确生成令牌,以便我可以自动化一些需要这个令牌的 API。

蟒蛇程序:

例子:

结果:

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJjbGllbnRfaWQiLCJhdWQiOiJodHRwczovL2xvZ2luLmdvb2dsZS5jb20vb2F1dGgiLCJzdWIiOiJBY2NvdW50TlVtYmVyLlFUVlIiLCJleHAiOiIxNTAxODYwMDg5IiwibmJmIjoiMTUwMTU5NDI0NyJ9.dRUUQYJ-RmxgoExwPyrvHPzX9SsxcpX1rOWlhisxNsg

https://jwt.io/生成的令牌:

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJjbGllbnRfaWQiLCJhdWQiOiJodHRwczovL2xvZ2luLmdvb2dsZS5jb20vb2F1dGgiLCJzdWIiOiJBY2NvdW50TlVtYmVyLlFUVlIiLCJleHAiOiIxNTAxODYwMDg5IiwibmJmIjoiMTUwMTU5NDI0NyJ9.INp-ZnnL8Uj7MIwLYmpZtGyTyZG-oqZRNW8iZ145jVs

https://jwt.io/生成的令牌 在我调用端点时有效。我得到一个状态码 200(成功)。

但是,当我使用从我的程序生成的令牌时,它会给出“无效令牌” - 400(错误请求)。

0 投票
1 回答
3884 浏览

python - 使用 PyJWT 的 Jwt 解码引发签名验证失败

我在 django 视图中解码 jwt 令牌时遇到了一个奇怪的问题。如果我尝试 jwt.decode('encoded_token', 'secret') 那么我会看到“签名验证失败”消息。为了逃避这个问题,我将验证标志设置为 False:

这使解码的有效负载没有错误,但我试图弄清楚如何在不将验证标志设置为 False 的情况下成功验证令牌。有任何想法吗?

谢谢

0 投票
1 回答
235 浏览

python - 使用 djangorestframework-jwt gain_jwt_token 视图时是否需要创建一个简单的登录视图?

基本上我想开发一个系统,用户使用用户名和密码使用'JSONWebTokenAuthentication'登录。这就是我使用'django rest framework JWT'的方式。在我创建一个帐户应用程序之前,用户可以使用用户名和密码注册和登录. 在帐户/urls.py

]

mainproject/urls.py

]

当我打开'api/auth/token/' 这个 URL。它在可浏览的 api 中显示用户名字段和密码字段,这没关系,因为它内置在视图 djangorestframework-jwt 中。如果用户名和密码在提供令牌的 db 中匹配。

我的问题是当我使用自己的登录视图时。如果在 api/auth/token/ 中使用“djangorestframework-jwt”获取_jwt_token 视图

只需注册即可创建用户。如果我们使用 djangorestframework-jwt,是否需要创建额外的登录视图。

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>

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