pyjwt库中存在一些问题。并且您必须从证书中获取公钥。
我用了 openssl x509 -pubkey -noout -in cert.pem > pubkey.pem
然后从公钥中,我可以使用authlib库轻松对其进行解码。
from authlib.specs.rfc7519 import jwt
encoded_jwt='''eyJ0eXAiOiJ....'''
secret=b'''-----BEGIN PUBLIC KEY-----
......
-----END PUBLIC KEY-----'''
claims = jwt.decode(encoded_jwt, secret)
print(claims)