- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 adobe API2.0 提取 adobe 分析数据,我是这方面的新手,所以请关注此 repo我确实提供了所有详细信息,例如 APIKEY、techaccountID、org_id、客户端 secret 、修改后的 config.ini。在生成 JWT token 时,我收到以下错误。
TypeError: load_pem_private_key() missing 1 required positional argument: 'backend'
这是我的代码,
def get_jwt_token(config):
with open(config["key_path"], 'r') as file:
private_key = file.read()
return jwt.encode({
"exp": datetime.datetime.utcnow() + datetime.timedelta(seconds=30),
"iss": config["orgid"],
"sub": config["technicalaccountid"],
"https://{}/s/{}".format(config["imshost"], config["metascopes"]): True,
"aud": "https://{}/c/{}".format(config["imshost"], config["apikey"])
}, private_key, algorithm='RS256')
config = dict(config_parser["default"])
jwt_token = get_jwt_token(config)
logger.info("JWT Token: {}".format(jwt_token))
access_token = get_access_token(config, jwt_token)
logger.info("Access Token: {}".format(access_token))
这是错误消息,
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-17-8c61bcf6ee58> in <module>
1 config = dict(config_parser["default"])
----> 2 jwt_token = get_jwt_token(config)
3 logger.info("JWT Token: {}".format(jwt_token))
4 access_token = get_access_token(config, jwt_token)
5 logger.info("Access Token: {}".format(access_token))
<ipython-input-3-d22e1d6f4ebb> in get_jwt_token(config)
9 "https://{}/s/{}".format(config["imshost"], config["metascopes"]): True,
10 "aud": "https://{}/c/{}".format(config["imshost"], config["apikey"])
---> 11 }, private_key, algorithm='RS256')
~\AppData\Local\Continuum\anaconda3\lib\site-packages\jwt\api_jwt.py in encode(self, payload, key, algorithm, headers, json_encoder)
61 ).encode("utf-8")
62
---> 63 return api_jws.encode(json_payload, key, algorithm, headers, json_encoder)
64
65 def decode_complete(
~\AppData\Local\Continuum\anaconda3\lib\site-packages\jwt\api_jws.py in encode(self, payload, key, algorithm, headers, json_encoder)
108 try:
109 alg_obj = self._algorithms[algorithm]
--> 110 key = alg_obj.prepare_key(key)
111 signature = alg_obj.sign(signing_input, key)
112
~\AppData\Local\Continuum\anaconda3\lib\site-packages\jwt\algorithms.py in prepare_key(self, key)
248 key = load_ssh_public_key(key)
249 else:
--> 250 key = load_pem_private_key(key, password=None)
251 except ValueError:
252 key = load_pem_public_key(key)
TypeError: load_pem_private_key() missing 1 required positional argument: 'backend'
我尝试使用本视频中指定的不同方法,但所述方法也导致了相同的错误
backend
但我应该在哪里提供它?有人可以帮助我这里有什么问题吗?
最佳答案
我在 jwt.decode
上遇到了同样的错误但仅限于 CI (linux) 并且它适用于我的 mac。
查看 python -m jwt.help
你的密码学版本是什么。 pyjwt 2 需要密码学 >= 3,出于某种原因,它在 CI 中是 2.9.2,所以这可以解释为什么它对我来说失败了。
有提交更新 pyjwt[crypto]
需要有效的加密包,但由于某种原因它没有显示在变更日志中,我还通过手动添加 cryptography>=3.3.1,<4.0.0
解决了问题到需求.txt
关于python - 类型错误 : load_pem_private_key() missing 1 required positional argument: 'backend' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65987293/
我在 python 中有这段代码 privateKey = appAuth["privateKey"] passphrase = appAuth["passphrase"] from cryptogr
我有以下两个ECDSA私钥用于测试。 from cryptography.hazmat.primitives.serialization import load_pem_private_key fro
我正在尝试使用 adobe API2.0 提取 adobe 分析数据,我是这方面的新手,所以请关注此 repo我确实提供了所有详细信息,例如 APIKEY、techaccountID、org_id、客
我正在尝试根据示例 here 为 AWS Cloudfront 生成签名 url .就行了 private_key = serialization.load_pem_private_key(
我是一名优秀的程序员,十分优秀!