[Deprecated] SAML Assertion Validation

Warning: This documentation is out-dated, newest version of the documentation is available at https://gazelle.ihe.net/gazelle-documentation 

This tutorial consist on the following steps :

Overview

SAML documents validation is performed using Schematrons. Those schematrons define the requirements to be tested in an SAML document. 

How to perform an SAML document Validation 

There is two ways of validating your SAML document :

  • Using the Gazelle External Validation Service here.
  • Importing schematrons source code to your workspace and process the validation in local.

Importing the schematron project

Since the SAML and the CDA schematrons are part of the same project, please see Importing of the schematron project in the CDA section here.

Validation steps

as for the CDA Document validation based on schematron, the SAML validation steps are : 

  • verify the assertion is valid XML
  • verify the assertion is welformed (XSD validation)
  • verify the assertion pass the schematron checks 

How to get the current SAML schematrons

The current SAML schematron are the final schematrons used for the SAML documents validation in the Gazelle External Validation Service. Those schematron are available in : 

 


How does SAML validation works

Architecture

Here below the source schematrons available for the SAML validation.

 

SAML source schematron

 

'Make_dist.sh' scipt 

Details about the processing of this scrip, please see here.

Since the developed SAML schematrons doesn't use inclusion, nor phases,and all the requirements fits into one file, the 'makedist' script preprocessing consists mainly on :

  • Reformating and indenting the schematrons
  • Building xsl from schematrons

'Validate.sh' script

The validation thanks to this script remains the same as for the CDA validation.

How to report a bug on SAML schematrons

Issues on SAML schematrons can be reported in the Gazelle issue tracker available here.