I am new to SAML2 and I was following the documentation and added the
dependency in the pom.xml
<dependency>
<groupId>org.apereo.cas</groupId>
<artifactId>cas-server-support-saml-idp</artifactId>
<version>${cas.version}</version>
</dependency>
I also have this in the repositories,
<repository>
<id>shibboleth-releases</id>
<url>https://build.shibboleth.net/nexus/content/repositories/releases</url>
</repository>
Then I have run Maven Rebuild command and the build was successful. Then when I
try to redeploy in tomcat, I get the following
error:
2018-01-05 10:23:08,461 INFO
[org.apereo.cas.configuration.config.CasCoreBootstrapStandaloneConfiguration] -
<Configuration files found at [/etc/cas/config] are
[[/etc/cas/config/application.yml, /etc/cas/config/cas.properties]]>
2018-01-05 10:23:08,536 INFO
[org.apereo.cas.configuration.config.CasCoreBootstrapStandaloneConfiguration] -
<Found and loaded [317] setting(s) from [/etc/cas/config]>
2018-01-05 10:23:08,537 INFO
[org.springframework.cloud.bootstrap.config.PropertySourceBootstrapConfiguration]
- <Located property source: PropertiesPropertySource
{name='standaloneCasConfigService'}>
2018-01-05 10:23:08,726 INFO
[org.apereo.cas.web.CasWebApplicationServletInitializer] - <The following
profiles are active: standalone>
2018-01-05 10:23:12,536 WARN
[org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext]
- <Exception encountered during context initialization - cancelling refresh
attempt: org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'beanValidationPostProcessor' defined in class path
resource [org/apereo/cas/config/CasCoreUtilConfiguration.class]:
BeanPostProcessor before instantiation of bean failed; nested exception is
org.springframework.beans.factory.UnsatisfiedDependencyException: Error
creating bean with name
'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration':
Unsatisfied dependency expressed through method 'setConfigurers' parameter 0;
nested exception is
org.springframework.beans.factory.UnsatisfiedDependencyException: Error
creating bean with name 'casCoreTicketsConfiguration': Unsatisfied dependency
expressed through field 'casProperties'; nested exception is
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'cas-org.apereo.cas.configuration.CasConfigurationProperties': Could
not bind properties to CasConfigurationProperties (prefix=cas,
ignoreInvalidFields=false, ignoreUnknownFields=true,
ignoreNestedProperties=false); nested exception is
org.springframework.beans.InvalidPropertyException: Invalid property
'authn.samlIdp.authenticationContextClassMappings[0]' of bean class
[org.apereo.cas.configuration.model.core.authentication.AuthenticationProperties]:
Property referenced in indexed property path
'authenticationContextClassMappings[0]' is neither an array nor a List nor a
Map; returned value was [[]]>
2018-01-05 10:23:12,537 ERROR
[org.springframework.beans.factory.support.DefaultListableBeanFactory] -
<Destroy method on bean with name
'org.springframework.context.annotation.internalScheduledAnnotationProcessor'
threw an exception>
java.lang.IllegalStateException: ApplicationEventMulticaster not initialized -
call 'refresh' before multicasting events via the context:
org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@ad43569:
startup date [Fri Jan 05 10:23:08 MYT 2018]; parent:
org.springframework.context.annotation.AnnotationConfigApplicationContext@233a6337
at
org.springframework.context.support.AbstractApplicationContext.getApplicationEventMulticaster(AbstractApplicationContext.java:414)
~[spring-context-4.3.12.RELEASE.jar:4.3.12.RELEASE]
at
org.springframework.context.support.ApplicationListenerDetector.postProcessBeforeDestruction(ApplicationListenerDetector.java:97)
~[spring-context-4.3.12.RELEASE.jar:4.3.12.RELEASE]
at
org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:253)
~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE]
at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:578)
~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE]
at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:554)
~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE]
at
org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:961)
~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE]
at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:523)
~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE]
at
org.springframework.beans.factory.support.FactoryBeanRegistrySupport.destroySingletons(FactoryBeanRegistrySupport.java:230)
~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE]
at
org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:968)
~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE]
at
org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1030)
~[spring-context-4.3.12.RELEASE.jar:4.3.12.RELEASE]
at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:556)
~[spring-context-4.3.12.RELEASE.jar:4.3.12.RELEASE]
at
org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122)
~[spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE]
at
org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693)
~[spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE]
at
org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360)
~[spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE]
at
org.springframework.boot.SpringApplication.run(SpringApplication.java:303)
~[spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE]
at
org.springframework.boot.web.support.SpringBootServletInitializer.run(SpringBootServletInitializer.java:154)
~[spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE]
at
org.springframework.boot.web.support.SpringBootServletInitializer.createRootApplicationContext(SpringBootServletInitializer.java:134)
~[spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE]
at
org.springframework.boot.web.support.SpringBootServletInitializer.onStartup(SpringBootServletInitializer.java:87)
~[spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE]
at
org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:169)
~[spring-web-4.3.12.RELEASE.jar:4.3.12.RELEASE]
at
org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5244)
~[tomcat8-catalina-8.0.32.jar:8.0.32]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
~[tomcat8-catalina-8.0.32.jar:8.0.32]
at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725)
~[tomcat8-catalina-8.0.32.jar:8.0.32]
at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701)
~[tomcat8-catalina-8.0.32.jar:8.0.32]
at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)
~[tomcat8-catalina-8.0.32.jar:8.0.32]
at
org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:939)
~[tomcat8-catalina-8.0.32.jar:8.0.32]
at
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:465)
~[tomcat8-catalina-8.0.32.jar:8.0.32]
at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1608)
~[tomcat8-catalina-8.0.32.jar:8.0.32]
at sun.reflect.GeneratedMethodAccessor1713.invoke(Unknown Source) ~[?:?]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[?:1.8.0_151]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_151]
at
org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300)
~[tomcat8-coyote-8.0.32.jar:8.0.32]
at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
~[?:1.8.0_151]
at
com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
~[?:1.8.0_151]
at
org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1460)
~[tomcat8-catalina-8.0.32.jar:8.0.32]
at
org.apache.catalina.manager.ManagerServlet.deploy(ManagerServlet.java:906)
~[tomcat8-catalina-8.0.32.jar:8.0.32]
at
org.apache.catalina.manager.HTMLManagerServlet.deployInternal(HTMLManagerServlet.java:315)
~[tomcat8-catalina-8.0.32.jar:8.0.32]
at
org.apache.catalina.manager.HTMLManagerServlet.doPost(HTMLManagerServlet.java:208)
~[tomcat8-catalina-8.0.32.jar:8.0.32]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
~[servlet-api-3.1.jar:?]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
~[servlet-api-3.1.jar:?]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
~[tomcat8-catalina-8.0.32.jar:8.0.32]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
~[tomcat8-catalina-8.0.32.jar:8.0.32]
at
org.apache.catalina.filters.CsrfPreventionFilter.doFilter(CsrfPreventionFilter.java:136)
~[tomcat8-catalina-8.0.32.jar:8.0.32]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
~[tomcat8-catalina-8.0.32.jar:8.0.32]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
~[tomcat8-catalina-8.0.32.jar:8.0.32]
at
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
~[tomcat8-websocket-8.0.32.jar:8.0.32]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
~[tomcat8-catalina-8.0.32.jar:8.0.32]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
~[tomcat8-catalina-8.0.32.jar:8.0.32]
at
org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)
~[tomcat8-catalina-8.0.32.jar:8.0.32]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
~[tomcat8-catalina-8.0.32.jar:8.0.32]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
~[tomcat8-catalina-8.0.32.jar:8.0.32]
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
~[tomcat8-catalina-8.0.32.jar:8.0.32]
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
~[tomcat8-catalina-8.0.32.jar:8.0.32]
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:614)
~[tomcat8-catalina-8.0.32.jar:8.0.32]
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
~[tomcat8-catalina-8.0.32.jar:8.0.32]
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
~[tomcat8-catalina-8.0.32.jar:8.0.32]
at
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
~[tomcat8-catalina-8.0.32.jar:8.0.32]
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
~[tomcat8-catalina-8.0.32.jar:8.0.32]
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522)
~[tomcat8-catalina-8.0.32.jar:8.0.32]
at
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095)
~[tomcat8-coyote-8.0.32.jar:8.0.32]
at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)
~[tomcat8-coyote-8.0.32.jar:8.0.32]
at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1504)
~[tomcat8-coyote-8.0.32.jar:8.0.32]
at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1460)
~[tomcat8-coyote-8.0.32.jar:8.0.32]
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
~[?:1.8.0_151]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
~[?:1.8.0_151]
at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
~[tomcat8-util-8.0.32.jar:8.0.32]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_151]
2018-01-05 10:23:12,537 ERROR
[org.springframework.beans.factory.support.DefaultListableBeanFactory] -
<Destroy method on bean with name
'org.springframework.boot.context.properties.ConfigurationPropertiesBindingPostProcessor'
threw an exception>
java.lang.IllegalStateException: ApplicationEventMulticaster not initialized -
call 'refresh' before multicasting events via the context:
org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@ad43569:
startup date [Fri Jan 05 10:23:08 MYT 2018]; parent:
org.springframework.context.annotation.AnnotationConfigApplicationContext@233a6337
at
org.springframework.context.support.AbstractApplicationContext.getApplicationEventMulticaster(AbstractApplicationContext.java:414)
~[spring-context-4.3.12.RELEASE.jar:4.3.12.RELEASE]
at
org.springframework.context.support.ApplicationListenerDetector.postProcessBeforeDestruction(ApplicationListenerDetector.java:97)
~[spring-context-4.3.12.RELEASE.jar:4.3.12.RELEASE]
at
org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:253)
~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE]
at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:578)
~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE]
at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:554)
~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE]
at
org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:961)
~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE]
at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:523)
~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE]
at
org.springframework.beans.factory.support.FactoryBeanRegistrySupport.destroySingletons(FactoryBeanRegistrySupport.java:230)
~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE]
at
org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:968)
~[spring-beans-4.3.12.RELEASE.jar:4.3.12.RELEASE]
at
org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1030)
~[spring-context-4.3.12.RELEASE.jar:4.3.12.RELEASE]
at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:556)
~[spring-context-4.3.12.RELEASE.jar:4.3.12.RELEASE]
at
org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122)
~[spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE]
at
org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693)
~[spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE]
at
org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360)
~[spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE]
at
org.springframework.boot.SpringApplication.run(SpringApplication.java:303)
~[spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE]
at
org.springframework.boot.web.support.SpringBootServletInitializer.run(SpringBootServletInitializer.java:154)
~[spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE]
at
org.springframework.boot.web.support.SpringBootServletInitializer.createRootApplicationContext(SpringBootServletInitializer.java:134)
~[spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE]
at
org.springframework.boot.web.support.SpringBootServletInitializer.onStartup(SpringBootServletInitializer.java:87)
~[spring-boot-1.5.8.RELEASE.jar:1.5.8.RELEASE]
at
org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:169)
~[spring-web-4.3.12.RELEASE.jar:4.3.12.RELEASE]
I tried adding these in the cas.properties:
cas.authn.samlIdp.entityId=http://localhost:8080/cas/idp
cas.authn.samlIdp.scope=localhost:8080
cas.authn.samlIdp.authenticationContextClassMappings[0]=urn:oasis:names:tc:SAML:2.0:ac:classes:SomeClassName->mfa-duo
cas.authn.samlIdp.metadata.cacheExpirationMinutes=30
cas.authn.samlIdp.metadata.failFast=true
cas.authn.samlIdp.metadata.location=file:/etc/cas/saml
cas.authn.samlIdp.metadata.privateKeyAlgName=RSA
cas.authn.samlIdp.metadata.requireValidMetadata=true
# cas.authn.samlIdp.metadata.basicAuthnUsername=
# cas.authn.samlIdp.metadata.basicAuthnPassword=
# cas.authn.samlIdp.metadata.supportedContentTypes=
cas.authn.samlIdp.attributeQueryProfileEnabled=true
cas.authn.samlIdp.logout.forceSignedLogoutRequests=true
cas.authn.samlIdp.logout.singleLogoutCallbacksDisabled=false
# cas.authn.samlIdp.response.defaultAuthenticationContextClass=
cas.authn.samlIdp.response.defaultAttributeNameFormat=uri
cas.authn.samlIdp.response.signError=false
cas.authn.samlIdp.response.signingCredentialType=X509|BASIC
cas.authn.samlIdp.response.useAttributeFriendlyName=true
cas.authn.samlIdp.response.attributeNameFormats=attributeName->basic|uri|unspecified|custom-format-etc,...
Still have the same error.
--
- Website: https://apereo.github.io/cas
- Gitter Chatroom: https://gitter.im/apereo/cas
- List Guidelines: https://goo.gl/1VRrw7
- Contributions: https://goo.gl/mh7qDG
---
You received this message because you are subscribed to the Google Groups "CAS
Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/a/apereo.org/d/msgid/cas-user/60ecf644-c697-4250-bc94-75fd4176f4c2%40apereo.org.