XSD OASIS Security Services TC · 2.0

SAML 2.0

SAML 2.0 protocol and assertions

SAML 2.0 single sign-on messages: authentication requests, responses with assertions, logout.

About

Identity providers (Okta, Entra ID, Keycloak, ADFS) and service providers exchange these messages during single sign-on. A decoded SAMLResponse can be pasted here to check its structure.

The protocol schema imports the assertion, XML Signature and XML Encryption schemas, included here.

Good to know

  • Only the structure is checked. Signatures, certificates, audience, timestamps and replay are verified by the service provider, not by the schema.
  • Decode the Base64 SAMLResponse first; paste the XML, not the encoded form.
  • The example is by xmlvalid.com: an unsigned response with illustrative values.

Files

4 files · 41.3 KB

The validator loads all of these with their folder structure, so includes and imports resolve as published.

Example document

response.xml · 1.8 KB · valid against this schema

In CI and from code

The same schema by its name, saml-2.0-protocol, through the API.

npx @xmlvalid/cli validate "**/*.xml" --schema saml-2.0-protocol
- uses: xmlvalid/validate-action@v1
  with:
    files: "**/*.xml"
    schema: saml-2.0-protocol
    api-key: ${{ secrets.XMLVALID_API_KEY }}
curl https://xmlvalid.com/api/v1/validations \
  -H "Authorization: Bearer $XMLVALID_API_KEY" \
  -F document={{ $schema->example ?? 'document.xml' }} -F schema=saml-2.0-protocol

Free accounts get 100 API validations a month. On Pro, a URL monitor can check a published document against this schema every hour and email you when it breaks. More CI setups