If you read the log, you do realize that you need to take out this line: 
cas.authn.samlIdp.authenticationContextClassMappings[0]=urn:oasis:names:tc:SAML:2.0:ac:classes:SomeClassName->mfa-duo
 
If you don't understand what a setting does, do not add it blindly. Ask. 

--Misagh 

> From: "casuser" <[email protected]>
> To: "CAS Community" <[email protected]>
> Sent: Friday, January 5, 2018 12:23:13 AM
> Subject: [cas-user] CAS 5.2.0 SAML2 dependency injection

> 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
> .

-- 
- 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/906064845.11653369.1515170855776.JavaMail.zimbra%40unicon.net.

Reply via email to