<Library> element specifies an extension library to load at runtime.
Extensions are dynamic/shared libraries (DLLs) with special exported functions to allow them to be loaded and managed by the Shibboleth runtime (actually by the XMLTooling-C library). Extensions can be loaded in-process or out-of-process (or both) and can tailor their behavior based on their environment.
Most new extensions come in full and "lite" versions, rather than as a single library.
- Specifies the path to the library to load.
fatal(boolean) (default is false)
- If true, a failure to load the library will fatally terminate the overall initialization of the SP.
The schema permits arbitrary child elements and attributes to be present, allowing extension libraries to include their own configuration material.
Note also that many/most of the other configuration elements in the schema are themselves extensible, allowing properly-namespaced extension content to be added for use by extension libraries. Extensions can effectively overlay their own configuration on top of that of the core components.