Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The DynamicHTTPMetadataProvider fetches entity metadata just-in-time from a remote HTTP server. The metadata request URL is constructed by applying a transform to the entityID. The transform strategy is configured in a child element.

Metadata is cached in memory subject to a complex set of interacting settings and the cache indicators within the metadata itself, and also can be saved to disk and reloaded back into memory at reload or startup time to restore the state of the cache. This isn't a fully redundant safety net but can be used as part of an overall strategy to reduce the risk of relying on remote sources in real-time. Ultimately, remote sources have to be bulletproof or there will be outages. This can be mitigated but not fully eliminated as a risk.

Info
titleUse this provider with remote metadata
The DynamicHTTPMetadataProvider is used with remote metadata. See the MetadataManagementBestPractices topic for more information.

...

NameTypeDefaultDescription
encodingStyle 3.4

"none", "form", "path", or "fragment"

"form"

Determines whether and how the entityID value will be URL encoded prior to replacement.  Allowed values are:

  • "none" : No encoding is performed.
  • "form" : Encoded using URL form parameter encoding (for query parameters).
  • "path" : Encoded using URL path encoding.
  • "fragment" : Encoded using URL fragment encoding.

The precise definition of these terms is defined in the documentation for the methods of the Guava library's UrlEscapers class.

encodedBooleantrueDeprecated. Use 'encodingStyle instead as of v3.4. If the element contains an encoded attribute set to "false", the value will be replaced directly, otherwise it will be URL form encoded.
transformRefBean ID
A reference to a transform function for the entityID. If used, the child element must be empty.
velocityEngineBean IDshibboleth.VelocityEngineThis attribute may be used to specify the name of the Velocity engine defined within the application.

...