Class Reference
IRIS for UNIX 2024.1.2
InterSystems: The power behind what matters   
Documentation  Search
  [USER] >  [%SAML] >  [Assertion]
Private  Storage   

class %SAML.Assertion extends %SOAP.WST.AbstractToken, %SOAP.Security.Element, %SAML.AssertionReference

SAML Assert Token for SOAP Security header.

Inventory

Parameters Properties Methods Queries Indices ForeignKeys Triggers
5 14 10


Summary

Properties
Advice Conditions IssueInstant Issuer SAMLID
Signature Statement Subject Version

Methods
%AddToSaveSet %ClassIsLatestVersion %ClassName %ConstructClone
%DispatchClassMethod %DispatchGetModified %DispatchGetProperty %DispatchMethod
%DispatchSetModified %DispatchSetMultidimProperty %DispatchSetProperty %Extends
%GetParameter %IsA %IsModified %New
%NormalizeObject %ObjectModified %OriginalNamespace %PackageName
%RemoveFromSaveSet %SerializeObject %SetModified %ValidateObject
Create CreateX509 GetX509Credentials XMLDTD
XMLExport XMLExportToStream XMLExportToString XMLNew
XMLSchema XMLSchemaNamespace XMLSchemaType


Parameters

• parameter ELEMENTQUALIFIED = 0;
ELEMENTQUALIFIED controls the format of exported XML. The ELEMENTQUALIFIED specification should be based on the elementFormDefault attribute of the schema that defines the type. To maintain compatibility, ELEMENTQUALIFIED will default to 1 (true) for literal format export and will default to 0 (false) for encoded or encoded12 format export. These were the values always previously assumed for the elementFormDefault attribute.

NOTE: Direct use of XMLExport method does not support the ELEMENTQUALIFIED. The export must be done using %XML.Writer or SOAP support.

• parameter NAMESPACE = "urn:oasis:names:tc:SAML:2.0:assertion";
NAMESPACE specifies the XML namespace to be used when projecting the class to XML. If NAMESPACE = "", the default namespace is used for the XML schema is used as the namespace for his class.
• parameter XMLFORMAT = "literal";
The XMLFORMAT parameter controls the generation of the XMLExport and XMLImport methods for XML enabled classes to include code for only literal or only encoded format. This allows the generated routines to be significantly smaller since usually both formats are not needed.

If XMLFORMAT="Literal", then only support for literal format import and export is generated.

If XMLFORMAT="Encoded", then only support for SOAP encoded format import and export is generated.

The default is to generate support for both literal and encoded format.

• parameter XMLPREFIX = "saml";
The XMLPREFIX parameter controls the prefix to be used for the XML namespace that is given by the NAMESPACE parameter.
• parameter XMLSEQUENCE = 1;
Need to distinguish the 2 different possible Signature elements.

Properties

• property Advice as list of %SAML.AssertionReference(REFELEMENTQUALIFIED=1,XMLREF=1,XMLTYPECONSTRAINT="choice");
• property Conditions as %SAML.Conditions(XMLREF=1);
• property IssueInstant as %xsd.dateTime(XMLPROJECTION="attribute") [ Required ];
• property Issuer as %SAML.NameID(XMLREF=1) [ Required ];
• property SAMLID as %String(MAXLEN="",XMLNAME="ID",XMLPROJECTION="attribute") [ Required ];
• property Signature as %XML.Security.Signature(REFELEMENTQUALIFIED=1,REFNAMESPACE="http://www.w3.org/2000/09/xmldsig#",XMLREF=1);
• property Statement as list of %SAML.Statement(XMLPROJECTION="element",XMLREF=1,XMLTYPECONSTRAINT="choice");
• property Subject as %SAML.Subject(XMLREF=1);
• property Version as %String(MAXLEN="",XMLPROJECTION="attribute") [ Required ];

Methods

• classmethod Create() as %SAML.Assertion
Create an unsigned SAML Asssertion
• classmethod CreateX509(credentials As %SYS.X509Credentials, referenceOption As %Integer, prefixList As %String = "") as %SAML.Assertion
Create an SAML Asssertion with WS-Security Signature based on X.509 credentials.
prefixList that is specified as a list of NMTOKENS for signing this SAML assertion.
• method GetX509Credentials() as %SYS.X509Credentials
Get the X.509 credentials associated with this Security header element on input.
• classmethod XMLNew(document As %XML.Document, nodeId As %Integer, containerOref As %RegisteredObject = "") as %RegisteredObject
Save the node if when getting a new class instance.


Copyright (c) 2025 by InterSystems Corporation. Cambridge, Massachusetts, U.S.A. All rights reserved. Confidential property of InterSystems Corporation.