Versions Compared

Key

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

Table of Contents

Overview

The IdP software uses the Apache HttpClient library anywhere more or less anywhere that this functionality is required, which for most deployers is confined to obtaining metadata from remote sources. The necessary settings to control the behavior of the metadata client code can be handled directly in the metadata-providers.xml file in most cases, so this topic is primarily a reference for people who have very advanced needs or are using other components and features that make use of the client.

...

Now you have a bean name you can inject into other components that support anĀ httpClientRef property that will behave differently than the defaults.

Reference

Beans

NameTypeDescription

shibboleth.NonCachingHttpClient

HttpClientFactoryBeanFactory bean for non-caching HTTP client
shibboleth.FileCachingHttpClientFileCachingHttpClientFactoryBeanFactory bean for file-based-caching HTTP client

shibboleth.MemoryCachingHttpClient

InMemoryCachingHttpClientFactoryBeanFactory bean for in-memory-caching HTTP client
shibboleth.SecurityEnhancedTLSSocketFactoryorg.apache.http.conn.socket.LayeredConnectionSocketFactory
shibboleth.SecurityEnhancedTLSSocketFactoryWithClientTLSorg.apache.http.conn.socket.LayeredConnectionSocketFactory

Properties

NameTypeDefaultDescription
idp.httpclient.useSecurityEnhancedTLSSocketFactorybooleanfalseIf true, causes the default clients to be injected with a special socket factory that supports advanced TLS features (requires substantial additional configuration)
idp.httpclient.connectionDisregardTLSCertificatebooleanfalseIf the previous property is false, this allows the default TLS behavior of the client to ignore the TLS server certificate entirely (use with obvious caution, typically only while testing)
idp.httpclient.connectionRequestTimeoutDurationPT1MTIme to wait for a connection to be returned from the pool (can be 0 for no imposed value)
idp.httpclient.connectionTimeoutDurationPT1MTIme to wait for a connection to be established (can be 0 for no imposed value)
idp.httpclient.socketTimeoutDurationPT1MTime to allow between packets on a connection (can be 0 for no imposed value)
idp.httpclient.maxConnectionsTotalinteger100Caps the number of simultaneous connections created by the pooling connection manager
idp.httpclient.maxConnectionsPerRouteinteger100Caps the number of simultaneous connections per route created by the pooling connection manager
idp.httpclient.memorycaching.maxCacheEntriesinteger50Size of the in-memory result cache
idp.httpclient.memorycaching.maxCacheEntrySizelong1048576Largest size to allow for an in-memory cache entry
idp.httpclient.filecaching.maxCacheEntriesinteger100Size of the non-disk result cache
idp.httpclient.filecaching.maxCacheEntrySizelong10485760Largest sze to allow for an on-disk cache entry
idp.httpclient.filecaching.cacheDirectorylocal directory
Location of on-disk cache