We struggled with this some and had to define a specific attribute in our LDAP CAS will use for storing the Google Auth Secret Key and scratch codes. We added the following property to the cas.properties to make it work.
cas.authn.mfa.gauth.ldap.account-attribute-name=<ldap attribute name where GAuth account data is stored>. Not sure if that is what you are missing. Hope this helps! On Thursday, June 17, 2021 at 11:47:01 AM UTC-4 Stewart wrote: > Hi Folks, > > I tried to upgrade from 6.1.6 to 6.3.4...when registering a new google > auth token, I get this error message about a missing attribute...not sure > where that is coming from (doesn't appear in my (previously working) > properties file at all, using AD/LDAP as the backend). Does anyone have > any idea what is causing this and how to fix? > > Thanks! > > Stewart > > 2021-06-17 08:36:37,772 ERROR > [org.apereo.cas.otp.web.flow.OneTimeTokenAccountSaveRegistrationAction] - > <Required attribute 'accountName' is not present in map; attributes present > are > [org.springframework.webflow.context.servlet.HttpServletRequestParameterMap@49edd5ac]> > java.lang.IllegalArgumentException: Required attribute 'accountName' is > not present in map; attributes present are > [org.springframework.webflow.context.servlet.HttpServletRequestParameterMap@49edd5ac] > at > org.springframework.binding.collection.MapAccessor.assertContainsKey(MapAccessor.java:388) > > ~[spring-binding-2.5.1.RELEASE.jar:2.5.1.RELEASE] > at > org.springframework.webflow.core.collection.LocalParameterMap.getRequired(LocalParameterMap.java:172) > > ~[spring-webflow-2.5.1.RELEASE.jar:2.5.1.RELEASE] > at > org.apereo.cas.otp.web.flow.OneTimeTokenAccountSaveRegistrationAction.buildOneTimeTokenAccount(OneTimeTokenAccountSaveRegistrationAction.java:47) > > ~[cas-server-support-otp-mfa-core-6.3.4.jar:6.3.4] > at > org.apereo.cas.gauth.web.flow.GoogleAuthenticatorSaveRegistrationAction.buildOneTimeTokenAccount(GoogleAuthenticatorSaveRegistrationAction.java:70) > > ~[cas-server-support-gauth-core-6.3.4.jar:6.3.4] > at > org.apereo.cas.otp.web.flow.OneTimeTokenAccountSaveRegistrationAction.doExecute(OneTimeTokenAccountSaveRegistrationAction.java:78) > > ~[cas-server-support-otp-mfa-core-6.3.4.jar:6.3.4] > at > org.springframework.webflow.action.AbstractAction.execute(AbstractAction.java:188) > > ~[spring-webflow-2.5.1.RELEASE.jar:2.5.1.RELEASE] > at jdk.internal.reflect.GeneratedMethodAccessor186.invoke(Unknown Source) > ~[?:?] > at > jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > > ~[?:?] > at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?] > at > org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:282) > > ~[spring-core-5.2.12.RELEASE.jar:5.2.12.RELEASE] > at > org.springframework.cloud.context.scope.GenericScope$LockedScopedProxyFactoryBean.invoke(GenericScope.java:499) > > ~[spring-cloud-context-2.2.6.RELEASE.jar:2.2.6.RELEASE] > at > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) > > ~[spring-aop-5.2.12.RELEASE.jar:5.2.12.RELEASE] > at > org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) > > ~[spring-aop-5.2.12.RELEASE.jar:5.2.12.RELEASE] > at com.sun.proxy.$Proxy243.execute(Unknown Source) ~[?:?] > at > org.springframework.webflow.execution.ActionExecutor.execute(ActionExecutor.java:51) > > ~[spring-webflow-2.5.1.RELEASE.jar:2.5.1.RELEASE] > at > org.springframework.webflow.action.EvaluateAction.doExecute(EvaluateAction.java:77) > > ~[spring-webflow-2.5.1.RELEASE.jar:2.5.1.RELEASE] > at > org.springframework.webflow.action.AbstractAction.execute(AbstractAction.java:188) > > ~[spring-webflow-2.5.1.RELEASE.jar:2.5.1.RELEASE] > at > org.springframework.webflow.execution.ActionExecutor.execute(ActionExecutor.java:51) > > ~[spring-webflow-2.5.1.RELEASE.jar:2.5.1.RELEASE] > at > org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:101) > ~[spring-webflow-2.5.1.RELEASE.jar:2.5.1.RELEASE] > at org.springframework.webflow.engine.State.enter(State.java:194) > ~[spring-webflow-2.5.1.RELEASE.jar:2.5.1.RELEASE] > at > org.springframework.webflow.engine.Transition.execute(Transition.java:228) > ~[spring-webflow-2.5.1.RELEASE.jar:2.5.1.RELEASE] > at > org.springframework.webflow.engine.impl.FlowExecutionImpl.execute(FlowExecutionImpl.java:395) > > ~[spring-webflow-2.5.1.RELEASE.jar:2.5.1.RELEASE] > at > org.springframework.webflow.engine.impl.RequestControlContextImpl.execute(RequestControlContextImpl.java:214) > > ~[spring-webflow-2.5.1.RELEASE.jar:2.5.1.RELEASE] > at > org.springframework.webflow.engine.TransitionableState.handleEvent(TransitionableState.java:116) > > ~[spring-webflow-2.5.1.RELEASE.jar:2.5.1.RELEASE] > at org.springframework.webflow.engine.Flow.handleEvent(Flow.java:547) > ~[spring-webflow-2.5.1.RELEASE.jar:2.5.1.RELEASE] > at > org.springframework.webflow.engine.impl.FlowExecutionImpl.handleEvent(FlowExecutionImpl.java:390) > > ~[spring-webflow-2.5.1.RELEASE.jar:2.5.1.RELEASE] > at > org.springframework.webflow.engine.impl.RequestControlContextImpl.handleEvent(RequestControlContextImpl.java:210) > > ~[spring-webflow-2.5.1.RELEASE.jar:2.5.1.RELEASE] > at > org.springframework.webflow.engine.ViewState.handleEvent(ViewState.java:231) > ~[spring-webflow-2.5.1.RELEASE.jar:2.5.1.RELEASE] > at org.springframework.webflow.engine.ViewState.resume(ViewState.java:195) > ~[spring-webflow-2.5.1.RELEASE.jar:2.5.1.RELEASE] > at org.springframework.webflow.engine.Flow.resume(Flow.java:537) > ~[spring-webflow-2.5.1.RELEASE.jar:2.5.1.RELEASE] > at > org.springframework.webflow.engine.impl.FlowExecutionImpl.resume(FlowExecutionImpl.java:259) > > ~[spring-webflow-2.5.1.RELEASE.jar:2.5.1.RELEASE] > at > org.springframework.webflow.executor.FlowExecutorImpl.resumeExecution(FlowExecutorImpl.java:168) > > ~[spring-webflow-2.5.1.RELEASE.jar:2.5.1.RELEASE] > at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > ~[?:?] > at > jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > > ~[?:?] > at > jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > > ~[?:?] > at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?] > at > org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:282) > > ~[spring-core-5.2.12.RELEASE.jar:5.2.12.RELEASE] > at > org.springframework.cloud.context.scope.GenericScope$LockedScopedProxyFactoryBean.invoke(GenericScope.java:499) > > ~[spring-cloud-context-2.2.6.RELEASE.jar:2.2.6.RELEASE] > at > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) > > ~[spring-aop-5.2.12.RELEASE.jar:5.2.12.RELEASE] > at > org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) > > ~[spring-aop-5.2.12.RELEASE.jar:5.2.12.RELEASE] > at com.sun.proxy.$Proxy296.resumeExecution(Unknown Source) ~[?:?] > at > org.springframework.webflow.mvc.servlet.FlowHandlerAdapter.handle(FlowHandlerAdapter.java:254) > > ~[spring-webflow-2.5.1.RELEASE.jar:2.5.1.RELEASE] > at > org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) > > ~[spring-webmvc-5.2.12.RELEASE.jar:5.2.12.RELEASE] > at > org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) > > ~[spring-webmvc-5.2.12.RELEASE.jar:5.2.12.RELEASE] > at > org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) > > ~[spring-webmvc-5.2.12.RELEASE.jar:5.2.12.RELEASE] > at > org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) > > ~[spring-webmvc-5.2.12.RELEASE.jar:5.2.12.RELEASE] > at javax.servlet.http.HttpServlet.service(HttpServlet.java:660) > ~[servlet-api.jar:?] > at > org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) > > ~[spring-webmvc-5.2.12.RELEASE.jar:5.2.12.RELEASE] > at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) > ~[servlet-api.jar:?] > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) > > ~[catalina.jar:9.0.27] > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) > > ~[catalina.jar:9.0.27] > at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) > ~[tomcat-websocket.jar:9.0.27] > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) > > ~[catalina.jar:9.0.27] > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) > > ~[catalina.jar:9.0.27] > at > org.apereo.cas.web.support.AuthenticationCredentialsThreadLocalBinderClearingFilter.doFilter(AuthenticationCredentialsThreadLocalBinderClearingFilter.java:28) > > ~[cas-server-core-web-api-6.3.4.jar:6.3.4] > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) > > ~[catalina.jar:9.0.27] > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) > > ~[catalina.jar:9.0.27] > at > org.apereo.cas.web.support.filters.RequestParameterPolicyEnforcementFilter.doFilter(RequestParameterPolicyEnforcementFilter.java:401) > > ~[cas-server-core-web-api-6.3.4.jar:6.3.4] > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) > > ~[catalina.jar:9.0.27] > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) > > ~[catalina.jar:9.0.27] > at > org.apereo.cas.web.support.filters.ResponseHeadersEnforcementFilter.doFilter(ResponseHeadersEnforcementFilter.java:200) > > ~[cas-server-core-web-api-6.3.4.jar:6.3.4] > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) > > ~[catalina.jar:9.0.27] > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) > > ~[catalina.jar:9.0.27] > at > org.apereo.cas.web.support.filters.AddResponseHeadersFilter.doFilter(AddResponseHeadersFilter.java:64) > > ~[cas-server-core-web-api-6.3.4.jar:6.3.4] > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) > > ~[catalina.jar:9.0.27] > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) > > ~[catalina.jar:9.0.27] > at > org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:204) > > ~[spring-security-web-5.4.2.jar:5.4.2] > at > org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:183) > > ~[spring-security-web-5.4.2.jar:5.4.2] > at > org.springframework.security.web.debug.DebugFilter.invokeWithWrappedRequest(DebugFilter.java:90) > > ~[spring-security-web-5.4.2.jar:5.4.2] > at > org.springframework.security.web.debug.DebugFilter.doFilter(DebugFilter.java:78) > > ~[spring-security-web-5.4.2.jar:5.4.2] > at > org.springframework.security.web.debug.DebugFilter.doFilter(DebugFilter.java:67) > > ~[spring-security-web-5.4.2.jar:5.4.2] > at > org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) > > ~[spring-web-5.2.12.RELEASE.jar:5.2.12.RELEASE] > at > org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) > > ~[spring-web-5.2.12.RELEASE.jar:5.2.12.RELEASE] > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) > > ~[catalina.jar:9.0.27] > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) > > ~[catalina.jar:9.0.27] > at > org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) > > ~[spring-web-5.2.12.RELEASE.jar:5.2.12.RELEASE] > at > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) > > ~[spring-web-5.2.12.RELEASE.jar:5.2.12.RELEASE] > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) > > ~[catalina.jar:9.0.27] > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) > > ~[catalina.jar:9.0.27] > at > org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) > > ~[spring-web-5.2.12.RELEASE.jar:5.2.12.RELEASE] > at > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) > > ~[spring-web-5.2.12.RELEASE.jar:5.2.12.RELEASE] > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) > > ~[catalina.jar:9.0.27] > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) > > ~[catalina.jar:9.0.27] > at > org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:93) > > ~[spring-boot-actuator-2.3.7.RELEASE.jar:2.3.7.RELEASE] > at > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) > > ~[spring-web-5.2.12.RELEASE.jar:5.2.12.RELEASE] > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) > > ~[catalina.jar:9.0.27] > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) > > ~[catalina.jar:9.0.27] > at > org.apereo.cas.logging.web.ThreadContextMDCServletFilter.doFilter(ThreadContextMDCServletFilter.java:99) > > ~[cas-server-core-logging-6.3.4.jar:6.3.4] > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) > > ~[catalina.jar:9.0.27] > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) > > ~[catalina.jar:9.0.27] > at > org.apereo.inspektr.common.web.ClientInfoThreadLocalFilter.doFilter(ClientInfoThreadLocalFilter.java:66) > > ~[inspektr-common-1.8.10.GA.jar:1.8.10.GA] > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) > > ~[catalina.jar:9.0.27] > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) > > ~[catalina.jar:9.0.27] > at > org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:126) > > ~[spring-boot-2.3.7.RELEASE.jar:2.3.7.RELEASE] > at > org.springframework.boot.web.servlet.support.ErrorPageFilter.access$000(ErrorPageFilter.java:64) > > ~[spring-boot-2.3.7.RELEASE.jar:2.3.7.RELEASE] > at > org.springframework.boot.web.servlet.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:101) > > ~[spring-boot-2.3.7.RELEASE.jar:2.3.7.RELEASE] > at > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) > > ~[spring-web-5.2.12.RELEASE.jar:5.2.12.RELEASE] > at > org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:119) > > ~[spring-boot-2.3.7.RELEASE.jar:2.3.7.RELEASE] > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) > > ~[catalina.jar:9.0.27] > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) > > ~[catalina.jar:9.0.27] > at > org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) > > ~[spring-web-5.2.12.RELEASE.jar:5.2.12.RELEASE] > at > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) > > ~[spring-web-5.2.12.RELEASE.jar:5.2.12.RELEASE] > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) > > ~[catalina.jar:9.0.27] > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) > > ~[catalina.jar:9.0.27] > at > org.apache.logging.log4j.web.Log4jServletFilter.doFilter(Log4jServletFilter.java:71) > > ~[log4j-web-2.14.0.jar:2.14.0] > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) > > ~[catalina.jar:9.0.27] > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) > > ~[catalina.jar:9.0.27] > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) > > ~[catalina.jar:9.0.27] > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) > > ~[catalina.jar:9.0.27] > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:526) > > ~[catalina.jar:9.0.27] > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) > ~[catalina.jar:9.0.27] > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) > ~[catalina.jar:9.0.27] > at > org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:678) > > ~[catalina.jar:9.0.27] > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) > > ~[catalina.jar:9.0.27] > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) > ~[catalina.jar:9.0.27] > at > org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408) > ~[tomcat-coyote.jar:9.0.27] > at > org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) > > ~[tomcat-coyote.jar:9.0.27] > at > org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:861) > > ~[tomcat-coyote.jar:9.0.27] > at > org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1579) > > ~[tomcat-coyote.jar:9.0.27] > at > org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) > > ~[tomcat-coyote.jar:9.0.27] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) > > ~[?:?] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) > > ~[?:?] > at > org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) > > ~[tomcat-util.jar:9.0.27] > at java.lang.Thread.run(Thread.java:834) [?:?] > -- - 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/934f2785-0eae-419c-8f5c-2533a624605en%40apereo.org.
