PyJWT无法识别链接格式RS256算法:手动替换可正常运行
PyJWT不识别URI格式算法名的原因
- PyJWT的算法匹配逻辑只支持短名称标识符(如RS256、HS256),没有内置解析W3C定义的URI格式算法名的能力。
- 你用的
http://www.w3.org/2001/04/xmldsig-more#rsa-sha256是该算法的标准URI标识,而RS256是它的短名称缩写。PyJWT内部已将RS256关联到对应的RSA-SHA256算法实现,但没有为URI格式的标识做映射,所以直接传入URI时,库找不到对应的算法对象,抛出NotImplementedError: Algorithm not supported错误。 - 简单来说,PyJWT的设计就是优先使用简洁的短名称,没做URI到算法的自动转换。
如果需要处理这种URI格式的算法名,你可以手动将其映射为对应的短名称后再传入PyJWT,比如把http://www.w3.org/2001/04/xmldsig-more#rsa-sha256替换成RS256,就像你调试时做的那样。
内容的提问来源于stack exchange,提问作者patri gato
相关产品推荐
相关产品推荐

