You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PyJWT使用ES256签名时提示缺少位置参数algorithm是什么原因?

问题原因

该报错是你当前使用的PyJWT版本与依赖的cryptography库版本不兼容导致的。ES256属于椭圆曲线签名算法,底层签名逻辑依赖cryptography库实现,不同版本的cryptography中EC密钥的sign方法参数定义存在差异,与当前PyJWT版本的调用逻辑不匹配就会触发参数缺失报错。RS256、HS256算法的底层实现逻辑与ES256不同,对依赖版本的要求不一致,所以不会触发该问题。

解决方案
  • 先卸载当前已安装的不兼容版本:
pip uninstall -y pyjwt cryptography
  • 安装匹配的稳定版本组合,推荐直接安装PyJWT的crypto附加组件,会自动适配对应版本的cryptography:
pip install pyjwt[crypto]==2.6.0
  • 若安装完成后仍存在报错,检查传入的PRIVATE_KEY格式是否正确:需完整保留苹果开发者后台下载的.p8私钥的原始格式,包括开头、结尾的标识行和换行符,不要额外做编码转换。
# 正确的私钥格式示例
PRIVATE_KEY = """-----BEGIN PRIVATE KEY-----
xxx你的私钥内容xxx
-----END PRIVATE KEY-----
"""

内容的提问来源于stack exchange,提问作者Joe B.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 12:36:04