SAML Assertion Decoder
Decode, inspect, and debug SAML responses and assertions for enterprise SSO integrations
Response Overview
Assertion Details
Subject
Conditions
Authentication Statement
Attributes
| Name | Value(s) |
|---|
Signature
Formatted XML
Understanding SAML
How Security Assertion Markup Language powers enterprise single sign-on
What is SAML?
SAML 2.0 is an XML-based standard for exchanging authentication and authorization data between an Identity Provider (IdP) and a Service Provider (SP). It's the backbone of enterprise SSO.
The SAML Flow
The user authenticates at the IdP, which issues a signed SAML Response containing assertions about the user's identity and attributes. The SP validates the signature and grants access.
Assertions
A SAML Assertion contains the Subject (who), Conditions (when it's valid), Authentication Statements (how they logged in), and Attribute Statements (user data like email, roles, and groups).
Anatomy of a SAML response
Encoding layers
A SAML response arriving at your ACS endpoint is typically base64-encoded XML. If it came via HTTP-Redirect binding rather than HTTP-POST, it is also DEFLATE-compressed and URL-encoded on top of that — three layers to unwrap before you see markup.
This is why a response that looks like garbage often just needs another decoding pass. Redirect binding is normally used for the request rather than the response, since responses tend to exceed practical URL length limits.
The parts that matter
The Assertion carries the identity claims. Subject holds the NameID — the user identifier, whose Format determines whether it's an email, a persistent opaque ID, or transient. AttributeStatement carries everything else the IdP chose to send: groups, roles, display name.
Conditions defines the validity window with NotBefore and NotOnOrAfter, plus AudienceRestriction naming who the assertion is for. That audience must match your entity ID; if it doesn't, the assertion was minted for a different service provider.
Signature placement
SAML permits signing the response, the assertion, or both, and the difference matters. If only the response is signed, an attacker who can wrap the XML may be able to substitute an assertion — the XML Signature Wrapping class of attack.
Verify what is actually signed and confirm the signed element is the one you're reading claims from. This is a well-known source of authentication bypasses in SAML implementations, and it's why using a maintained library rather than hand-parsing XML matters here more than almost anywhere else.
Frequently asked questions
Enterprise SSO without the SAML archaeology
Okta, Azure AD, Google Workspace, ADFS, PingFederate, JumpCloud — configured from the dashboard instead of hand-parsing assertions.
Free, unlimited users. No credit card required.