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

python-3.x - 如何在 jwt python 中压缩 customclaims

我们正在使用 jwt 并且我们的自定义声明已经变长并且使用 ngnix 服务器获取有关标头大小的异常

因此,看看我们是否可以压缩自定义声明并使用它(我们无法删除内容以最小化 jwt 的大小)我们正在使用 PyJWT https://pyjwt.readthedocs.io/en/latest/

但看起来它没有默认的压缩实现。如果我们可以请指出我们正确的方向,这将是很大的帮助

0 投票
1 回答
242 浏览

python - 将 APNs 身份验证密钥转换为与 PyJWT 一起使用

语境

我正在使用pyjwt生成一个 jwt 来将推送通知从 python 后端发送到 APNs(Apple 推送通知服务)。我的后端在标准 GAE(Google App Engine)实例上运行,因此我必须使用旧包pycryptoecdsa而不是cryptographypyjwt( docs ) 中。

问题

我的auth_key.p8(我从 Apple Developer 下载的)是 formatted -----BEGIN PRIVATE KEY-----,但ecdsa包希望它是 formatted -----BEGIN EC PRIVATE KEY-----。因此,我得到以下回溯:

似乎我auth_key的格式ecdsa不接受,但我不知道该怎么做才能解决这个问题。我应该把它转换auth_key成不同的格式吗?

谢谢您的帮助。

0 投票
0 回答
420 浏览

python - 有没有办法使用 Graphene/GraphQL 从 GraphQLString 解析 AST

我正在寻找为我的 GraphQL 端点使用PyJWT. 问题是我不想保护我的登录突变。所以我正在尝试编写中间件来排除登录突变。

这很容易通过编写 GraphQL 中间件来实现,因为传递给中间件的参数使我能够检查查询的名称。

但是因为 GraphQL 总是返回200,所以我不能使用状态码作为我的客户端上的身份验证失败检查。并且必须检查errors数组以查看消息是否Unauthorized存在。

错误响应示例:

这很好,但我更喜欢使用响应的状态代码作为我的检查,所以我决定用自定义装饰器包装 GraphQL 视图。

通过这样做,我现在可以返回具有不同状态代码的响应。但同样的问题是我无法轻松检查请求是否用于登录并跳过身份验证逻辑,除非我可以正确解析 GraphQLString。

如果可能的话,我宁愿不定制一些东西。我会假设 GraphQL 或 Graphene 会提供类似的东西。

如果我需要提供更多信息,请告诉我。感谢您的任何帮助!

0 投票
1 回答
729 浏览

python - 带有 PyJWT 身份验证的 Flask Restful

背景:

我正在尝试使用 Flask-Restful 和 PyJWT 对基于令牌的快速身份验证进行原型设计。这个想法是我将有一个带有电子邮件和密码的表单,当用户单击提交时,它将生成一个令牌并将其保存在客户端浏览器中,并在任何后续请求中使用它,直到令牌过期。

麻烦

在我的原型中,我能够使用 JWT 创建一个令牌,但我不知道如何将 JWT 传递给后续请求。当我在 Postman 中执行此操作时,它可以工作,因为我可以在其中指定带有令牌的 Authorization 标头。但是当我通过 UI 登录并生成令牌时,我不知道如何通过使令牌在标头中持续存在直到它过期来将生成的令牌传递到后续请求(/protected)中。目前,当我从 UI 登录并转到 /protected 时,/protected 标头中缺少授权标头。

代码

0 投票
1 回答
57 浏览

python-3.x - pyjwt 引发 TypeError

我正在使用 pyjwt 如下:

问题在于,根据文档 instance.encode() 应该返回bytes,而根据另一个资源,它应该返回str。当我通过单元测试运行它时:

我得到:AssertionError: False is not true当我替换为时strbytes我得到了同样的错误。那么这个方法应该返回什么类型呢?

0 投票
2 回答
7740 浏览

django - 修复:InvalidAlgorithmError:尝试在 Python 中解码编码的 jwt 令牌时不允许指定的 alg 值

我正在尝试解码从授权服务收到的令牌。问题是当我尝试解码它时,我得到了InvalidAlgorithmError: the specified alg value is not allowed.

当你看下面的图片时。我可以从jwt.io站点解码令牌并查看有效负载。

我正在使用PyJwt库。下面你会发现我的实现。

jwt.io 站点中的解码令牌

在此处输入图像描述

执行

全栈跟踪

0 投票
1 回答
665 浏览

python - 登录 Flask 后如何重定向到受保护的 URL?

我正在开发一个带有微服务的 Web 项目。在后端,我有一个登录服务,它负责检查用户凭据并返回一个有效的 JWT。我有另一个名为 Views 的服务,它负责为 UI 提供服务并将请求发送到其他服务。来自客户端的每个请求首先访问 Views 服务,然后将请求传递给适当的服务。

视图服务中向“/login”路由发送ajax请求的代码:

将请求传递给登录服务的代码:

我可以成功发送登录请求并取回令牌并将其存储在 localStorage 中。我遇到的问题是,登录后我需要将用户重定向到受保护的路由,并且需要将 JWT 添加到请求标头中。我试图通过function login(). 但是,永远不会发送 GET 请求,而是 Flask 呈现user_login()函数中返回的 JSON 对象。

我该如何克服这个问题?如果我正在做的事情是错误的,有人能指出我正确的方向吗?

0 投票
1 回答
1327 浏览

azure - 如何在 azure app 服务中将新文件路径添加到环境变量路径

我正在为 web2py 项目创建 azure web 应用程序,我的应用程序使用jwt包。现在我想将pyjwt 包安装到 azure app 服务。通过 kudu 安装它后,它安装在不在 azure app 服务环境变量中的其他位置。

在此处输入图像描述

现在要么我需要在默认位置安装这个包,要么我需要包含D:\home\python364x64\Script到环境变量 PATH中。

我不知道如何做这种方法?如果有人帮我解决这个问题,那就太好了

0 投票
1 回答
342 浏览

pyjwt - 如何使用 ES256 签署 JWT?

我正在尝试使用签名pyjwt

我收到了这个错误

0 投票
1 回答
1422 浏览

python - python解码不包含任何点的JWT

我得到了一个不包含任何点的 JWT。我在某处读到 JWT 的典型格式是 3 段字符串连接在一起,总共有 2 个点。当我尝试解码令牌时使用 PyJWT,我收到以下错误 -

但是,当我在 jwt.io 上放置相同的标记时,它会被解码,我可以看到完整的字典。我错过了什么?

这是我的代码 -

在此处将 pastebin 链接附加到令牌,因为它太长而无法放在这里。

PS 我不同意使用 pyjwt 的想法。如果任何其他图书馆可以解码它对我来说都是一样的。