# 
# SAMLv2 schema
#
# This schema allows to store federation objects
#

objectIdentifier EoRoot 1.3.6.4.1.36560
objectIdentifier EoSAMLRoot EoRoot:1
objectIdentifier EoSAMLAttribute EoSAMLRoot:1
objectIdentifier EoSAMLClass EoSAMLRoot:2

objectIdentifier Boolean                  1.3.6.1.4.1.1466.115.121.1.7
objectIdentifier UTF8                     1.3.6.1.4.1.1466.115.121.1.15
objectIdentifier DateEtHeure              1.3.6.1.4.1.1466.115.121.1.24
objectIdentifier ASCII                    1.3.6.1.4.1.1466.115.121.1.26
objectIdentifier Entier                   1.3.6.1.4.1.1466.115.121.1.27
objectIdentifier Binaire                  1.3.6.1.4.1.1466.115.121.1.40
# Attributes

attributeType ( EoSAMLAttribute:1
  NAME 'NameID'
  DESC 'A name identifier shared by an IdP and a SP'
  SYNTAX UTF8
  SINGLE-VALUE )

attributeType ( EoSAMLAttribute:2
  NAME 'NameQualifier'
  DESC 'A Qualifier for the federation'
  SYNTAX ASCII
  SINGLE-VALUE )

attributeType ( EoSAMLAttribute:3
  NAME 'SPNameQualifier'
  DESC 'A Qualifier for the federation'
  SYNTAX ASCII
  SINGLE-VALUE )

attributeType ( EoSAMLAttribute:4
  NAME 'Format'
  DESC 'A format for the federation'
  SYNTAX ASCII
  SINGLE-VALUE )

attributeType ( EoSAMLAttribute:5
  NAME 'SPProvidedID'
  DESC 'A format for the federation'
  SYNTAX ASCII
  SINGLE-VALUE )

attributeType ( EoSAMLAttribute:6
  NAME 'entityID'
  DESC 'An URI identifying a SAMLv2 entity'
  SYNTAX ASCII
  SINGLE-VALUE )

attributeType ( EoSAMLAttribute:7
  NAME 'metadataURL'
  DESC 'An URL where the metadata for this entity can be retrieved'
  SYNTAX ASCII
  SINGLE-VALUE )

attributeType ( EoSAMLAttribute:8
  NAME 'metadataContent'
  DESC 'Metadata document for a SAMLv2 entity'
  SYNTAX Binaire
  SINGLE-VALUE )

# Classes

objectclass ( EoSAMLClass:1
  NAME 'saml2Federation'
  DESC 'A SAMLv2 federation'
  STRUCTURAL
  MUST ( NameID )
  MAY ( NameQualifier $ SPNameQualifier $ Format $ SPProvidedID ))

objectclass ( EoSAMLClass:2
  NAME 'saml2Entity'
  DESC 'A SAMLv2 entity'
  STRUCTURAL
  MUST ( entityID )
  MAY ( metadataURL $ metadataContent ))
