He estado tratando de validar el "token de actualización" devuelto por el proveedor de identidad de Amazon Cognito a través de su cliente boto3 python. He estado usando el validador en https://jwt.io .
Cuando pego el token de actualización en el cuadro "codificado", devuelve un encabezado:
{ "cty": "JWT", "enc": "A256GCM", "alg": "RSA-OAEP" }
pero la herramienta también dice "firma no válida" en la parte inferior.
Me pregunto si este es el comportamiento esperado. ¿Los tokens de actualización de AWS Cognito no son JWT válidos?
Sí, con este encabezado parece que el token de actualización es un JWT válido.
https://jwt.io no puede analizarlo porque está limitado a JWT firmado (JWS - RFC7515 ) y este está encriptado (JWE - RFC7516 ).
A diferencia del JWS, el JWE se compone de 5 partes separadas por puntos. Su encabezado se puede analizar, pero la carga útil está cifrada y no se puede leer sin la clave privada o compartida.
De acuerdo con el encabezado cty
, este token contiene otro JWT que ciertamente es un JWS. Este token anidado permite ambos mundos: reclamos firmados y cifrados.