c5ffeebed14b6a81950e36b29c32af6c489cc35c
[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 boostraps 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="50" />
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     </bean>
61
62     <bean id="shibboleth.StorageService" class="org.opensaml.util.storage.MapBasedStorageService" depends-on="shibboleth.LogbackLogging" />
63
64     <bean id="shibboleth.StorageServiceSweeper" class="org.opensaml.util.storage.ExpiringObjectStorageServiceSweeper" depends-on="shibboleth.LogbackLogging">
65         <constructor-arg ref="shibboleth.TaskTimer" />
66         <constructor-arg ref="shibboleth.StorageService" />
67         <constructor-arg value="600000" type="long" />
68     </bean>
69
70     <bean id="shibboleth.SessionManager"
71           class="edu.internet2.middleware.shibboleth.idp.session.impl.SessionManagerImpl"
72           depends-on="shibboleth.LogbackLogging">
73         <constructor-arg ref="shibboleth.StorageService" />
74         <constructor-arg value="1800000" type="long" />
75     </bean>
76
77     <bean id="shibboleth.ArtifactMap" class="org.opensaml.common.binding.artifact.BasicSAMLArtifactMap" depends-on="shibboleth.LogbackLogging">
78         <constructor-arg ref="shibboleth.StorageService" />
79         <constructor-arg type="long" value="300000" />
80     </bean>
81     
82     <bean id="shibboleth.ReplayCache" class="org.opensaml.util.storage.ReplayCache" depends-on="shibboleth.LogbackLogging">
83         <constructor-arg ref="shibboleth.StorageService" />
84         <constructor-arg type="long" value="300000" />
85     </bean>
86
87     <util:map id="shibboleth.MessageDecoders">
88         <entry>
89             <key>
90                 <value>urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign</value>
91             </key>
92             <bean id="shibboleth.SAML2HttpPostSimpleSignDecoder" class="org.opensaml.saml2.binding.decoding.HTTPPostSimpleSignDecoder">
93                 <constructor-arg ref="shibboleth.ParserPool" />
94             </bean>
95         </entry>
96         <entry>
97             <key>
98                 <value>urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST</value>
99             </key>
100             <bean id="shibboleth.SAML2HttpPostDecoder" class="org.opensaml.saml2.binding.decoding.HTTPPostDecoder">
101                 <constructor-arg ref="shibboleth.ParserPool" />
102             </bean>
103         </entry>
104         <entry>
105             <key>
106                 <value>urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect</value>
107             </key>
108             <bean id="shibboleth.SAML2HttpRedirectDecoder"
109                 class="org.opensaml.saml2.binding.decoding.HTTPRedirectDeflateDecoder">
110                 <constructor-arg ref="shibboleth.ParserPool" />
111             </bean>
112         </entry>
113         <entry>
114             <key>
115                 <value>urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact</value>
116             </key>
117             <bean id="shibboleth.SAML2HTTPArtifactDecoder"
118                 class="org.opensaml.saml2.binding.decoding.HTTPArtifactDecoder">
119                 <constructor-arg ref="shibboleth.ParserPool" />
120             </bean>
121         </entry>
122         <entry>
123             <key>
124                 <value>urn:oasis:names:tc:SAML:2.0:bindings:SOAP</value>
125             </key>
126             <bean id="shibboleth.SAML2HttpSoap11Decoder"
127                 class="org.opensaml.saml2.binding.decoding.HTTPSOAP11Decoder">
128                 <constructor-arg ref="shibboleth.ParserPool" />
129             </bean>
130         </entry>
131         <entry>
132             <key>
133                 <value>urn:oasis:names:tc:SAML:1.0:profiles:browser-post</value>
134             </key>
135             <bean id="shibboleth.SAML1HttpPostDecoder" class="org.opensaml.saml1.binding.decoding.HTTPPostDecoder">
136                 <constructor-arg ref="shibboleth.ArtifactMap" />
137                 <constructor-arg ref="shibboleth.ParserPool" />
138             </bean>
139         </entry>
140         <entry>
141             <key>
142                 <value>urn:oasis:names:tc:SAML:1.0:bindings:SOAP-binding</value>
143             </key>
144             <bean id="shibboleth.SAML1HttpSoap11Decoder"
145                 class="org.opensaml.saml1.binding.decoding.HTTPSOAP11Decoder">
146                 <constructor-arg ref="shibboleth.ArtifactMap" />
147                 <constructor-arg ref="shibboleth.ParserPool" />
148             </bean>
149         </entry>
150         <entry>
151             <key>
152                 <value>urn:mace:shibboleth:1.0:profiles:AuthnRequest</value>
153             </key>
154             <bean id="shibboleth.ShibbolethSSODecoder"
155                 class="edu.internet2.middleware.shibboleth.idp.profile.saml1.ShibbolethSSODecoder">
156             </bean>
157         </entry>
158     </util:map>
159
160     <util:map id="shibboleth.MessageEncoders">
161         <entry>
162             <key>
163                 <value>urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign</value>
164             </key>
165             <bean id="shibboleth.SAML2HttpPostSimpleSignEncoder" class="org.opensaml.saml2.binding.encoding.HTTPPostSimpleSignEncoder">
166                 <constructor-arg ref="shibboleth.VelocityEngine" />
167                 <constructor-arg value="/templates/saml2-post-simplesign-binding.vm" />
168             </bean>
169         </entry>
170         <entry>
171             <key>
172                 <value>urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST</value>
173             </key>
174             <bean id="shibboleth.SAML2HttpPostEncoder" class="org.opensaml.saml2.binding.encoding.HTTPPostEncoder">
175                 <constructor-arg ref="shibboleth.VelocityEngine" />
176                 <constructor-arg value="/templates/saml2-post-binding.vm" />
177             </bean>
178         </entry>
179         <entry>
180             <key>
181                 <value>urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect</value>
182             </key>
183             <bean id="shibboleth.SAML2HttpRedirectEncoder"
184                 class="org.opensaml.saml2.binding.encoding.HTTPRedirectDeflateEncoder" />
185         </entry>
186         <entry>
187             <key>
188                 <value>urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact</value>
189             </key>
190             <bean id="shibboleth.SAML2HTTPArtifactEncoder"
191                 class="org.opensaml.saml2.binding.encoding.HTTPArtifactEncoder">
192                 <constructor-arg ref="shibboleth.ArtifactMap" />
193                 <constructor-arg ref="shibboleth.VelocityEngine" />
194                 <constructor-arg value="/templates/saml2-post-artifact-binding.vm" />
195             </bean>
196         </entry>
197         <entry>
198             <key>
199                 <value>urn:oasis:names:tc:SAML:2.0:bindings:SOAP</value>
200             </key>
201             <bean id="shibboleth.SAML2HttpSoap11Encoder" class="org.opensaml.saml2.binding.encoding.HTTPSOAP11Encoder" />
202         </entry>
203         <entry>
204             <key>
205                 <value>urn:oasis:names:tc:SAML:1.0:profiles:browser-post</value>
206             </key>
207             <bean id="shibboleth.SAML1HttpPostEncoder" class="org.opensaml.saml1.binding.encoding.HTTPPostEncoder">
208                 <constructor-arg ref="shibboleth.VelocityEngine" />
209                 <constructor-arg value="/templates/saml1-post-binding.vm" />
210             </bean>
211         </entry>
212         <entry>
213             <key>
214                 <value>urn:oasis:names:tc:SAML:1.0:profiles:artifact-01</value>
215             </key>
216             <bean id="shibboleth.SAML1HttpArtifactEncoder"
217                 class="org.opensaml.saml1.binding.encoding.HTTPArtifactEncoder">
218                 <constructor-arg ref="shibboleth.ArtifactMap" />
219             </bean>
220         </entry>
221         <entry>
222             <key>
223                 <value>urn:oasis:names:tc:SAML:1.0:bindings:SOAP-binding</value>
224             </key>
225             <bean id="shibboleth.SAML1HttpSoap11EncoderBuilder"
226                 class="org.opensaml.saml1.binding.encoding.HTTPSOAP11Encoder" />
227         </entry>
228     </util:map>
229
230     <bean id="shibboleth.SAML1AttributeAuthority"
231         class="edu.internet2.middleware.shibboleth.common.attribute.provider.ShibbolethSAML1AttributeAuthority" depends-on="shibboleth.LogbackLogging">
232         <constructor-arg ref="shibboleth.AttributeResolver" />
233         <property name="filteringEngine" ref="shibboleth.AttributeFilterEngine" />
234     </bean>
235
236     <bean id="shibboleth.SAML2AttributeAuthority"
237         class="edu.internet2.middleware.shibboleth.common.attribute.provider.ShibbolethSAML2AttributeAuthority" depends-on="shibboleth.LogbackLogging">
238         <constructor-arg ref="shibboleth.AttributeResolver" />
239         <property name="filteringEngine" ref="shibboleth.AttributeFilterEngine" />
240     </bean>
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>handlerManager</value>
249                     </key>
250                     <ref bean="shibboleth.HandlerManager" />
251                 </entry>
252                 <entry>
253                     <key>
254                         <value>sessionManager</value>
255                     </key>
256                     <ref bean="shibboleth.SessionManager" />
257                 </entry>
258             </map>
259         </property>
260     </bean>
261
262 </beans>