Start a project

Tool 185 of 194 · Security

SAML Response Decoder

Find out why single sign-on fails: paste the SAMLResponse and see the user, attributes, audience, time windows and signatures, with the reason an SP would reject it.

SAML Response Decoder

SAML message

    What it says

    FieldValue
    AttributeValuesCount
    OnReferenceAlgorithmsCertificate
    Decoded XML

    The samples come from a fictional identity provider; the response's signature was made with a throwaway key. Messages are decoded in your browser and never uploaded, but they identify a real person, so don't share them.

    01

    What it does

    Decodes SAML messages from the POST and redirect bindings and checks status, audience, recipient, time windows and what each XML signature covers.

    • HTTP-POST (base64) and HTTP-Redirect (deflate + base64) bindings, full redirect URLs or raw XML
    • Responses, AuthnRequests, logout messages and bare assertions
    • Status codes explained, NameID, attributes and session details
    • Audience, ACS URL, recipient, InResponseTo and issuer checked against your settings

    02

    Private by design

    Everything happens in your browser. Nothing you type, paste or upload is sent anywhere, and it keeps working offline once the page has loaded.

    03

    What you get

    Message fields, attributes, signatures, checks and the decoded XML, with a Copy and a Download button on every result.

    • SAML
    • Single sign-on
    • Security
    • XML

    Why it matters

    When single sign-on fails, the SP's log usually says little more than "invalid response". The cause is nearly always one of a handful: an audience that doesn't match the SP's entity ID, a response that arrived after NotOnOrAfter because the clocks drift, an ACS URL that differs from the one registered at the IdP, an error status from the IdP, or a signature on the wrong element.

    This decoder unpacks the message the same way an SP does, from base64 or deflated base64, and runs those checks against your settings and a time you choose. It also maps every XML signature to the element it covers, which is how signature wrapping attacks are spotted: an extra, unsigned assertion placed where a careless SP reads it.

    How to use it

    1. Paste the SAMLResponse from the browser's network tab, or a redirect URL with SAMLRequest.
    2. Enter your SP entity ID and ACS URL.
    3. Optionally set the time to check at and the clock skew you allow.
    4. Read the checks, then the fields, attributes and signatures.

    FAQ

    How do I capture a SAML response?

    Open the browser's developer tools on the Network tab, sign in, and find the POST to your ACS URL. Copy the SAMLResponse form field.

    Why is my SAML response expired?

    Assertions are valid for a few minutes. If the IdP's and SP's clocks differ, or an old response is replayed, the NotOnOrAfter time has passed. Sync clocks with NTP and allow a small skew.

    What is an audience mismatch?

    The assertion names the SP it is meant for. If that isn't exactly your SP's entity ID, the SP must reject it. Fix the entity ID in the IdP's settings.

    Does this verify the signature?

    It checks what each signature covers and which algorithms it uses, which catches wrapping attacks and misconfiguration. Cryptographic verification needs your SAML library and the IdP's metadata certificate.

    Work with me

    Want a site that gets these right?

    I build fast, accessible websites and web apps that pass these checks from day one. Tell me about your project and I'll reply personally with honest next steps.

    All developer tools · Back to leej.uk