问题标签 [python-jose]
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.
python - 哪个 Python JOSE 库支持嵌套 JWT(签名+加密)?
我查看了 python-jose 和 jose,但似乎都不支持加密签名的 JWT。例如,“jose”库支持单独签名和加密,无需嵌套。
我是否遗漏了一些东西,比如在库外嵌套 JWT 相当容易?如果是这样,请分享有关实现此目的的提示,以便结果格式正确。
python - JWT在python中加密有效载荷?(JWE)
根据RFC 7516,应该可以加密有效载荷/声明,称为 JWE。
有没有支持它的python库?
我已经检查了 PyJWT、python-jose 和 jwcrypto,但它们都只有使用HS256
(JWS) 签名的示例。
抱歉,如果这很明显,但是当涉及到涉及加密的事情时,我会格外谨慎。
python - 如何在 Python 中解码 Firebase JWT 令牌
我添加了 Firebase 以允许客户端直接从 Web 应用程序客户端(浏览器)进行身份验证。我正在使用firebase-web JS 包,效果很好。我可以在浏览器中看到我收到了一个包含用户信息的用户对象,包括一个idToken
.
然后我需要在我的服务器后端验证这个用户,这是 python django。在 Firebase 文档中,我找到了我正在尝试做的操作方法,即验证 id token。
由于他们没有支持的 Firebase sdk for python,我需要使用第三方解决方案。在 jwt.io 网站上找到它后,我来到了python-jose 包。这个例子看起来很简单:
这是我第一次使用 JWT。我不知道该用什么'secret'
。我尝试将我的 id 令牌粘贴为token
,并将 Firebase 控制台中的 Web API 密钥粘贴为secret
,但出现此错误:
jose.exceptions.JWKError:不支持 RSA 密钥格式
我还尝试了JWT 调试器,它似乎正确地读取了我的大部分 id 令牌,但签名验证正在寻找公钥和/或私钥,这就像在'secret'
逃避我一样。
我真的不知道如何找到这个秘密,以及如何验证 JWT id 令牌。Firebase 文档(第三方部分)的信息是:
最后,确保 ID 令牌由与令牌的孩子声明对应的私钥签名。从https://www.googleapis.com/robot/v1/metadata/x509/securetoken@system.gserviceaccount.com获取公钥 并使用 JWT 库来验证签名。使用来自该端点的响应的 Cache-Control 标头中的 max-age 值来了解何时刷新公钥。
我尝试将整个 json blob 从该 googleapis url 粘贴到 JWT 调试器中,但仍然收到“无效签名”警报。我不明白如何使用该公钥。
python-jose 应该适用于这种方法吗?如果是这样,我应该使用什么作为秘密?如果没有,有人可以指出我正确的方向吗?
谢谢。
python - 为什么安装 python-jose 需要 C++ 14.0
当我在 Windows 上发出 pip install python-jose 时出现此错误:
错误:需要 Microsoft Visual C++ 14.0。使用“Microsoft Visual C++ 构建工具”获取它:http: //landinghub.visualstudio.com/visual-cpp-build-tools
我很困惑为什么我需要安装 Visual C++ 14.0?
python - Python-Jose 与 Google App Engine
我正在尝试让python-jose与 Google App Engine 一起工作。
我添加后立即from jose import jwt
出现错误ImportError: No module named Crypto.Random.OSRNG.winrandom
在README.rst
它说:
这是一个与需要使用 PyCrypto 库的 Google App Engine 完全兼容的 JOSE 实现。
我猜dev_appserver.py
该文件已被阻止,lib/Crypto/Random/OSRNG/winrandom.pyd
因为它不是纯 Python。
有什么我不明白的吗?
django - 无法验证 Firebase 令牌
我正在制作一个使用谷歌登录的应用程序。我还有一个链接到应用程序的 Django 后端,我想在 Django 后端验证用户。我在互联网上找到了许多解决方案,但没有一个有效。可能我在某个地方搞砸了。
我尝试使用 python-jose 进行验证,代码如下:
我也试过oauth2client,代码在这里:
我还为 python 尝试了 firebase_admin:
只是为了检查 firebase_admin 库本身是否正常工作,我将用户 ID 从应用程序传递到服务器,并尝试使用 firebase_admin 删除用户,我可以做到这一点。但由于某种原因,我无法验证令牌。
谢谢您的帮助。
python - 为什么我不能用我的 JWK 签署这些声明?
我正在编写这个 python 代码来创建 RSA 私钥和公钥。然后从私钥创建一个 JWK,然后使用该 JWK 签署声明。
当我运行它时,它在签名步骤失败:
是什么导致了这个错误,我怎样才能使它工作?
python - 如何生成我用 jose.jwt.decode 解码的 RS256 签名令牌
我有一个函数,它接收一个令牌,对其进行解码,并使用有效负载来执行一些逻辑。我想使用我操纵的声明生成令牌以测试该功能。
我从https://mkjwk.org/生成了一个密钥对,并以下列方式使用它:
以上是给我一个jose.exceptions.JWTError: Signature verification failed.
错误。
为什么是这样?我怎样才能生成一个可以用我想要的声明正确解码的令牌?
python - lambda 函数中的 python 和 python-jose 错误
我对 python 有点陌生,以前从未使用它来验证 jwt 令牌。
我正在写一个 lambda 函数。我确定问题很简单,但似乎无法解决。
我不断收到此错误:
我正在我的 Mac 上为 3.7 创建一个虚拟环境,并且有一个非常简单的 requirements.txt 文件:
我的代码在第一行爆炸了:
实际令牌值是什么并不重要,这显然是我使用库的方式的问题。应该是有些不兼容吧。我用谷歌搜索过,没有看到其他人有这个问题,所以这一定是我正在做的事情非常愚蠢:)
有人可以帮忙吗?谢谢。
python-jose - 是否有用于检查数组长度的 Python 函数?
我需要计算数组中的项目数。有没有功能可以做到这一点?我可以用 for 循环来做,但如果有一个函数,它会容易 100 倍。