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-
saml-schema-protocol-2.0.xsd main
-
saml-schema-assertion-2.0.xsd
-
xmldsig-core-schema.xsd
-
xenc-schema.xsd
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