First pass to clean up config and fix multi serivce instance bug
[java-idp.git] / resources / conf / internal.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2
3 <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4     xmlns:util="http://www.springframework.org/schema/util"
5     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
6                            http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.0.xsd">
7
8     <bean id="shibboleth.TaskTimer" class="java.util.Timer" destroy-method="cancel">
9         <constructor-arg value="true" type="boolean" />
10     </bean>
11     
12     <bean id="shibboleth.LogbackLogging" class="edu.internet2.middleware.shibboleth.common.log.LogbackLoggingService" depends-on="shibboleth.TaskTimer">
13         <constructor-arg ref="shibboleth.TaskTimer" />
14         <constructor-arg value="$IDP_HOME$/conf/logging.xml" />
15         <constructor-arg value="600000" />
16     </bean>
17     
18     <!-- Spring configuration file that bootstraps OpenSAML -->
19     <bean id="shibboleth.OpensamlConfig" class="edu.internet2.middleware.shibboleth.common.config.OpensamlConfigBean" depends-on="shibboleth.LogbackLogging">
20         <constructor-arg>
21             <list>
22                 <bean id="shibMetadataExtensions" class="org.opensaml.util.resource.ClasspathResource">
23                     <constructor-arg value="/shibboleth-saml-ext-config.xml" />
24                 </bean>
25             </list>
26         </constructor-arg>
27     </bean>
28
29     <bean id="shibboleth.IdGenerator" class="org.opensaml.common.impl.SecureRandomIdentifierGenerator" depends-on="shibboleth.LogbackLogging">
30         <constructor-arg value="SHA1PRNG" />
31     </bean>
32
33     <bean id="shibboleth.VelocityEngine" class="org.springframework.ui.velocity.VelocityEngineFactoryBean" depends-on="shibboleth.LogbackLogging">
34         <property name="velocityProperties">
35             <props>
36                 <prop key="resource.loader">classpath, string</prop>
37                 <prop key="classpath.resource.loader.class">
38                     org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader
39                 </prop>
40                 <prop key="string.resource.loader.class">
41                     org.apache.velocity.runtime.resource.loader.StringResourceLoader
42                 </prop>
43             </props>
44         </property>
45     </bean>
46
47     <bean id="shibboleth.TemplateEngine"
48         class="edu.internet2.middleware.shibboleth.common.attribute.resolver.provider.dataConnector.TemplateEngine"
49         depends-on="shibboleth.LogbackLogging">
50         <constructor-arg ref="shibboleth.VelocityEngine" />
51     </bean>
52
53     <bean id="shibboleth.ParserPool" class="org.opensaml.xml.parse.BasicParserPool" depends-on="shibboleth.LogbackLogging">
54         <property name="maxPoolSize" value="100" />
55         <property name="createBuildersAtPoolLimit" value="true" />
56         <property name="coalescing" value="true" />
57         <property name="ignoreComments" value="true" />
58         <property name="ignoreElementContentWhitespace" value="true" />
59         <property name="namespaceAware" value="true" />
60         <property name="builderAttributes">
61             <map>
62                 <entry>
63                     <key>
64                         <value>http://apache.org/xml/properties/security-manager</value>
65                     </key>
66                     <bean id="shibboleth.XercesSecurityManager" class="org.apache.xerces.util.SecurityManager" />
67                 </entry>
68             </map>
69         </property>
70         <property name="builderFeatures">
71             <map>
72                 <entry>
73                     <key>
74                         <value>http://apache.org/xml/features/disallow-doctype-decl</value>
75                     </key>
76                     <util:constant static-field="java.lang.Boolean.TRUE"/>
77                 </entry>
78             </map>
79         </property>
80     </bean>
81
82     <bean id="shibboleth.StorageService" class="org.opensaml.util.storage.MapBasedStorageService" depends-on="shibboleth.LogbackLogging" />
83
84     <bean id="shibboleth.StorageServiceSweeper" class="org.opensaml.util.storage.ExpiringObjectStorageServiceSweeper" depends-on="shibboleth.LogbackLogging">
85         <constructor-arg ref="shibboleth.TaskTimer" />
86         <constructor-arg ref="shibboleth.StorageService" />
87         <constructor-arg value="600000" type="long" />
88     </bean>
89
90     <bean id="shibboleth.SessionManager"
91           class="edu.internet2.middleware.shibboleth.idp.session.impl.SessionManagerImpl"
92           depends-on="shibboleth.LogbackLogging">
93         <constructor-arg ref="shibboleth.StorageService" />
94         <constructor-arg value="1800000" type="long" />
95     </bean>
96
97     <bean id="shibboleth.ArtifactMap" class="org.opensaml.common.binding.artifact.BasicSAMLArtifactMap" depends-on="shibboleth.LogbackLogging">
98         <constructor-arg ref="shibboleth.ParserPool" />
99         <constructor-arg ref="shibboleth.StorageService" />
100         <constructor-arg type="long" value="300000" />
101     </bean>
102     
103     <bean id="shibboleth.ReplayCache" class="org.opensaml.util.storage.ReplayCache" depends-on="shibboleth.LogbackLogging">
104         <constructor-arg ref="shibboleth.StorageService" />
105         <constructor-arg type="long" value="300000" />
106     </bean>
107
108     <util:map id="shibboleth.MessageDecoders">
109         <entry>
110             <key>
111                 <value>urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign</value>
112             </key>
113             <bean id="shibboleth.SAML2HttpPostSimpleSignDecoder" class="org.opensaml.saml2.binding.decoding.HTTPPostSimpleSignDecoder">
114                 <constructor-arg ref="shibboleth.ParserPool" />
115             </bean>
116         </entry>
117         <entry>
118             <key>
119                 <value>urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST</value>
120             </key>
121             <bean id="shibboleth.SAML2HttpPostDecoder" class="org.opensaml.saml2.binding.decoding.HTTPPostDecoder">
122                 <constructor-arg ref="shibboleth.ParserPool" />
123             </bean>
124         </entry>
125         <entry>
126             <key>
127                 <value>urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect</value>
128             </key>
129             <bean id="shibboleth.SAML2HttpRedirectDecoder"
130                 class="org.opensaml.saml2.binding.decoding.HTTPRedirectDeflateDecoder">
131                 <constructor-arg ref="shibboleth.ParserPool" />
132             </bean>
133         </entry>
134         <entry>
135             <key>
136                 <value>urn:oasis:names:tc:SAML:2.0:bindings:SOAP</value>
137             </key>
138             <bean id="shibboleth.SAML2HttpSoap11Decoder"
139                 class="org.opensaml.saml2.binding.decoding.HTTPSOAP11Decoder">
140                 <constructor-arg ref="shibboleth.ParserPool" />
141             </bean>
142         </entry>
143         <entry>
144             <key>
145                 <value>urn:oasis:names:tc:SAML:1.0:profiles:browser-post</value>
146             </key>
147             <bean id="shibboleth.SAML1HttpPostDecoder" class="org.opensaml.saml1.binding.decoding.HTTPPostDecoder">
148                 <constructor-arg ref="shibboleth.ArtifactMap" />
149                 <constructor-arg ref="shibboleth.ParserPool" />
150             </bean>
151         </entry>
152         <entry>
153             <key>
154                 <value>urn:oasis:names:tc:SAML:1.0:bindings:SOAP-binding</value>
155             </key>
156             <bean id="shibboleth.SAML1HttpSoap11Decoder"
157                 class="org.opensaml.saml1.binding.decoding.HTTPSOAP11Decoder">
158                 <constructor-arg ref="shibboleth.ArtifactMap" />
159                 <constructor-arg ref="shibboleth.ParserPool" />
160             </bean>
161         </entry>
162         <entry>
163             <key>
164                 <value>urn:mace:shibboleth:1.0:profiles:AuthnRequest</value>
165             </key>
166             <bean id="shibboleth.ShibbolethSSODecoder"
167                 class="edu.internet2.middleware.shibboleth.idp.profile.saml1.ShibbolethSSODecoder">
168             </bean>
169         </entry>
170     </util:map>
171
172     <util:map id="shibboleth.MessageEncoders">
173         <entry>
174             <key>
175                 <value>urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign</value>
176             </key>
177             <bean id="shibboleth.SAML2HttpPostSimpleSignEncoder" class="org.opensaml.saml2.binding.encoding.HTTPPostSimpleSignEncoder">
178                 <constructor-arg ref="shibboleth.VelocityEngine" />
179                 <constructor-arg value="/templates/saml2-post-simplesign-binding.vm" />
180             </bean>
181         </entry>
182         <entry>
183             <key>
184                 <value>urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST</value>
185             </key>
186             <bean id="shibboleth.SAML2HttpPostEncoder" class="org.opensaml.saml2.binding.encoding.HTTPPostEncoder">
187                 <constructor-arg ref="shibboleth.VelocityEngine" />
188                 <constructor-arg value="/templates/saml2-post-binding.vm" />
189             </bean>
190         </entry>
191         <entry>
192             <key>
193                 <value>urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect</value>
194             </key>
195             <bean id="shibboleth.SAML2HttpRedirectEncoder"
196                 class="org.opensaml.saml2.binding.encoding.HTTPRedirectDeflateEncoder" />
197         </entry>
198         <entry>
199             <key>
200                 <value>urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact</value>
201             </key>
202             <bean id="shibboleth.SAML2HTTPArtifactEncoder"
203                 class="org.opensaml.saml2.binding.encoding.HTTPArtifactEncoder">
204                 <constructor-arg ref="shibboleth.ArtifactMap" />
205                 <constructor-arg ref="shibboleth.VelocityEngine" />
206                 <constructor-arg value="/templates/saml2-post-artifact-binding.vm" />
207             </bean>
208         </entry>
209         <entry>
210             <key>
211                 <value>urn:oasis:names:tc:SAML:2.0:bindings:SOAP</value>
212             </key>
213             <bean id="shibboleth.SAML2HttpSoap11Encoder" class="org.opensaml.saml2.binding.encoding.HTTPSOAP11Encoder" />
214         </entry>
215         <entry>
216             <key>
217                 <value>urn:oasis:names:tc:SAML:1.0:profiles:browser-post</value>
218             </key>
219             <bean id="shibboleth.SAML1HttpPostEncoder" class="org.opensaml.saml1.binding.encoding.HTTPPostEncoder">
220                 <constructor-arg ref="shibboleth.VelocityEngine" />
221                 <constructor-arg value="/templates/saml1-post-binding.vm" />
222             </bean>
223         </entry>
224         <entry>
225             <key>
226                 <value>urn:oasis:names:tc:SAML:1.0:profiles:artifact-01</value>
227             </key>
228             <bean id="shibboleth.SAML1HttpArtifactEncoder"
229                 class="org.opensaml.saml1.binding.encoding.HTTPArtifactEncoder">
230                 <constructor-arg ref="shibboleth.ArtifactMap" />
231             </bean>
232         </entry>
233         <entry>
234             <key>
235                 <value>urn:oasis:names:tc:SAML:1.0:bindings:SOAP-binding</value>
236             </key>
237             <bean id="shibboleth.SAML1HttpSoap11EncoderBuilder"
238                 class="org.opensaml.saml1.binding.encoding.HTTPSOAP11Encoder" />
239         </entry>
240     </util:map>
241
242     <bean id="shibboleth.ServletAttributeExporter"
243         class="org.springframework.web.context.support.ServletContextAttributeExporter" depends-on="shibboleth.LogbackLogging">
244         <property name="attributes">
245             <map>
246                 <entry>
247                     <key>
248                         <value>shibboleth.SessionManager</value>
249                     </key>
250                     <ref bean="shibboleth.SessionManager" />
251                 </entry>
252             </map>
253         </property>
254     </bean>
255
256 </beans>