我有一个 JWT,如下所示:
Authorization: Bearer eyJhbGciOiJFUzM4NCIsInR5cCI6IkpXVCIsImtpZCI6IjQ0ODIzZjNkLTBiMDEtNGE2Yy1hODBlLWI5ZDNlOGE3MjI2ZiIsImprdSI6Imh0dHBzOi8vc2FuZGJveC5jZHMtaG9va3Mub3JnLy53ZWxsLWtub3duL2p3a3MuanNvbiJ9.eyJpc3MiOiJodHRwczovL3NhbmRib3guY2RzLWhvb2tzLm9yZyIsImF1ZCI6Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9jZHMtc2VydmljZXMiLCJleHAiOjE1OTQyMzA5MDAsImlhdCI6MTU5NDIzMDYwMCwianRpIjoiZWZiMzc3M2QtM2EyOC00M2UyLTlmYmMtYjkzNmE5YWUzODhiIn0.Cbey3n5NkDRoCLHZ2WMFc1z_RY8Rlq5oGxdAYfbrBPMiJXLCwjbYoU0av2CQj-Olhbnpe7Vs8vzJ5oHP5gc2-0ooc5J49t4Uz9iYKpiM9KLUrqaJe0umc_klM2-ynHAI
我一直在苦苦挣扎,因为像 PyJWT 这样的 python 库需要椭圆曲线算法的 PEM 格式公钥,而且我必须解码 base64 以获得具有“jku”的标题(https://sandbox.cds-hooks .org/.well-known/jwks.json),它只有 x 和 y 坐标,没有公钥。
我觉得我完全走错了方向,因为我认为应该是使用 ES384 alg 验证 JWT 的简单且自动化的过程。
如果有人可以帮助解释如何使用库/python 代码来验证这一点,那将是一个救命稻草!