Decodificador de respuestas SAML

Pega XML, Base64 o Base64 codificado en URL para inspeccionar la aserción. La herramienta muestra la estructura y las firmas presentes, pero no las valida.

Se ejecuta localmente en tu navegador
SAML se decodifica solo en este navegador. Elimina nombres, correos, sesiones y atributos de producción antes de compartir.
SAMLResponse o XML de aserciónBase64, Base64 con URL encoding o XML
Atributos SAML
AtributoValor
Todavía no hay atributos.
XML decodificado

Decodifica la estructura y verifica en el servidor

El inspector muestra XML y firmas incluidas, pero no valida firmas XML, confianza, replay, destinatario ni metadatos del IdP.

Cómo decodificar una respuesta SAML y leer los campos de la aserción

El inspector acepta una SAMLResponse tal como llega —Base64, Base64 codificado en URL o el documento <samlp:Response> sin procesar— y muestra los campos que contiene: código de estado, emisor, NameID, audiencia, destino, InResponseTo, los identificadores de objeto, la ventana de Conditions y cada valor de atributo. Cargar ejemplo rellena el campo con una plantilla generada en la página y la decodifica.

La decodificación ocurre en el navegador. En una sesión medida ninguna petición salió de la página salvo la analítica del propio sitio, así que una respuesta capturada puede pegarse tal cual. Aun así, una respuesta lleva nombres, direcciones e identificadores de sesión reales: elimínalos antes de compartir un informe.

  1. Pega una SAMLResponse (Base64 o Base64 codificado en URL) o un documento <samlp:Response> completo; Cargar ejemplo parte de una plantilla con la ventana temporal centrada en el minuto actual.
  2. Pulsa Decodificar e inspeccionar. Los contadores dan el número de aserciones, firmas, atributos y caracteres, y el resumen lista estado, emisor, sujeto, audiencia, destino, ambos identificadores, InResponseTo y los dos valores temporales.
  3. Lee la lista de hallazgos: nombra una firma ausente o presente, una ventana de Conditions caducada o aún no válida, un Audience o Destination ausentes y un estado distinto de Success.
  4. Revisa la tabla de atributos para los datos que mapearía un proveedor de servicio y usa Copiar informe o el botón Copiar sobre el XML decodificado.
  5. Pulsa Limpiar antes de la siguiente respuesta para que el panel anterior no quede en pantalla.

Qué lee el inspector y qué solo reporta

Qué se lee y en qué orden

El decodificador lee el primer elemento Response y la primera Assertion que contiene. Emisor, StatusCode, NameID, audiencia, destino, InResponseTo, identificadores, Conditions y AttributeStatement se toman de ese par. Con dos aserciones en una respuesta el contador indica 2, pero el resumen y la tabla de atributos describen solo la primera, y la ventana SubjectConfirmationData no se interpreta.

La entrada se normaliza antes de decodificar: se descartan espacios y saltos de línea, se aceptan caracteres URL-safe, se restaura el relleno (=) que falte y una cadena codificada en URL se decodifica primero. El XML sin procesar se toma tal cual. Cualquier otra cosa se rechaza con un motivo: entrada vacía, codificación porcentual rota, Base64 inválido o la posición del analizador XML, como «line 1 at column 16: Element samlp:Response prefix is unbound».

Tiempos y firmas

La ventana de Conditions se compara con el reloj del navegador y nada más: un documento con NotOnOrAfter ya pasado se marca como caducado, uno con NotBefore en el futuro como aún no válido, y una ventana abierta produce la línea neutra sobre el reloj del navegador. La comparación es una ayuda de lectura, no una comprobación de replay.

Las firmas se cuentan, no se verifican. Cero elementos ds:Signature producen la línea de peligro; uno o dos producen la nota de que su validez criptográfica no se comprobó. Aquí no se valida ningún certificado, cadena de confianza, metadato del IdP, vínculo de destinatario ni caché de replay.

Límites medidos y privacidad

Un valor de atributo de 1 MB se decodificó en unos 0,3 segundos en una medición, y los contadores describen el documento decodificado en último lugar: una decodificación fallida vacía el resumen, los hallazgos, los atributos y el XML en lugar de dejar el resultado anterior junto al error. Copiar sin nada decodificado responde con una frase en lugar de un portapapeles silencioso.

La página funciona sin conexión una vez cargada y la entrada nunca sale del navegador. Trata el informe decodificado como la respuesta de la que proviene: puede contener nombres, correos, pertenencia a grupos e identificadores de sesión.

Herramientas recientes: