Scripting and Programming Guides › Developer's Guide for Java › Authentication and Authorization APIs › Use the Authorization API › Modify a SAML Assertion or Response › Development and Deployment Notes
Development and Deployment Notes
When developing and deploying a custom assertion generator plug-in, keep the following points in mind:
- The implemented plug-in class must provide a public default constructor method with no parameters.
- The implementation must be stateless—that is, the single plug-in instance can be concurrently used for multiple threads.
- The syntax requirements and use of the parameter string that is passed into the customizeAssertion() method is the responsibility of the custom object.
- The custom object must parse the default assertion that is passed to customizeAssertion()—for example, through a Document Object Module (DOM) parser or a Simple API for XML (SAX) parser. The sample plug-in class AssertionSample.java uses a DOM parser.
- To enable SiteMinder to locate your deployed plug-in class, specify the deployment location in -Djava.class.path of the configuration file JVMOptions.txt. This file is in the following location of the SiteMinder installed directory structure: <install-path>\siteminder\config.
- For a sample of an assertion plug-in class, see AssertionSample.java, which demonstrates the plug-in process for a SAML 1.x assertion, in the following location of the SiteMinder installed directory structure: <install-path>\sdk\samples\assertiongeneratorplugin. In the same directory there are samples for the Assertion Generator Plugin for SAML 2.0, SAML2AppAttrPlugin.java, and WS-Federation, WSFedAppAttrPlugin.java.