In my development environment, I’m running CAS Overlay 6.3.7. I’m trying
to setup Passwordless Authentication with MFA/Duo (
https://apereo.github.io/cas/6.3.x/installation/Passwordless-Authentication.html#multifactor-authentication-integration).
For the Passwordless Account Store, I’m using LDAP (
https://apereo.github.io/cas/6.3.x/installation/Passwordless-Authentication.html#ldap).
And when I don’t use MFA, the process executes successfully, with the token
being sent out.
However, when I set the property to activate MFA for passwordless, I get an
error. When I trace that back into the code, it appears that the user
object, and attributes are null, even though the LDAP portion appears to be
successful. I’m sure there’s configuration settings that I’m missing. But
after spending days pouring over the documentation, I’m not seeing what I’m
missing.
I’ve added information below, please let me know if there’s anything
relevant that I can provide.
Thanks,
George Hosler
Identity Management Engineer
University of Kansas Medical Center
Here are the additional items added to my build.gradle:
implementation "org.apereo.cas:cas-server-support-passwordless-webflow"
implementation "org.apereo.cas:cas-server-support-passwordless-ldap"
Here are the properties for MFA and Passwordless Auth:
# Activate MFA globally for all, regardless of other settings
cas.authn.mfa.global-provider-id=mfa-duo
cas.authn.mfa.global-failure-mode=OPEN
cas.authn.mfa.authentication-context-attribute=authnContextClass
# Activate MFA globally based on authentication metadata attributes
cas.authn.mfa.global-authentication-attribute-name-triggers=eduPersonAffiliation
cas.authn.mfa.global-authentication-attribute-value-regex=faculty|student|staff|member|employee
# Duo Security
cas.authn.mfa.duo[0].duo-secret-key=[secret-key]
cas.authn.mfa.duo[0].duo-integration-key=[integration-key]
cas.authn.mfa.duo[0].duo-api-host=[api-host]
cas.authn.mfa.duo[0].trusted-device-enabled=false
cas.authn.mfa.duo[0].id=mfa-duo
cas.authn.mfa.request-parameter=authn_method
cas.authn.mfa.request-header=authn_method
cas.authn.mfa.session-attribute=authn_method
# Passwordless Settings
cas.authn.passwordless.multifactor-authentication-activated=true
cas.authn.passwordless.delegated-authentication-activated=false
cas.authn.passwordless.accounts.expire-in-seconds=180
cas.authn.passwordless.accounts.ldap.ldap-url=[ldap-url]
cas.authn.passwordless.accounts.ldap.bind-dn={bind-dn]
cas.authn.passwordless.accounts.ldap.bind-credential=[bind-credential]
cas.authn.passwordless.accounts.ldap.base-dn=[base-dn]
cas.authn.passwordless.accounts.ldap.search-filter=cn={user}
cas.authn.passwordless.accounts.ldap.subtree-search=true
cas.authn.passwordless.accounts.ldap.connect-timeout=PT5S
cas.authn.passwordless.accounts.ldap.email-attribute=kumcPersonODXMail
cas.authn.passwordless.accounts.ldap.phone-attribute=mobile
cas.authn.passwordless.accounts.ldap.subtree-search=true
Here’s the information from my debug logs:
2021-10-27 17:12:16,564 DEBUG
[org.springframework.webflow.execution.ActionExecutor] - <Finished
executing
org.apereo.cas.web.flow.VerifyPasswordlessAccountAuthenticationAction@16c690dc;
result = success>
2021-10-27 17:12:16,564 DEBUG
[org.springframework.webflow.execution.ActionExecutor] - <Finished
executing [EvaluateAction@15f0f3a3 expression =
verifyPasswordlessAccountAuthenticationAction, resultExpression = [null]];
result = success>
2021-10-27 17:12:16,564 DEBUG
[org.springframework.webflow.engine.Transition] - <Executing
[Transition@5e5fe9a6 on = success, to = determineDelegatedAuthentication]>
2021-10-27 17:12:16,564 DEBUG
[org.springframework.webflow.engine.Transition] - <Exiting state
'passwordlessVerifyAccount'>
2021-10-27 17:12:16,564 DEBUG
[org.springframework.webflow.engine.ActionState] - <Entering state
'determineDelegatedAuthentication' of flow 'login'>
2021-10-27 17:12:16,564 DEBUG
[org.springframework.webflow.execution.ActionExecutor] - <Executing
[EvaluateAction@4601aaf9 expression =
determineDelegatedAuthenticationAction, resultExpression = [null]]>
2021-10-27 17:12:16,564 DEBUG
[org.springframework.webflow.execution.ActionExecutor] - <Executing
org.apereo.cas.config.PasswordlessAuthenticationWebflowConfiguration$$Lambda$2457/0x0000000840e76040@75fa560f
>
2021-10-27 17:12:16,564 DEBUG
[org.springframework.webflow.execution.ActionExecutor] - <Finished
executing
org.apereo.cas.config.PasswordlessAuthenticationWebflowConfiguration$$Lambda$2457/0x0000000840e76040@75fa560f;
result = success>
2021-10-27 17:12:16,564 DEBUG
[org.springframework.webflow.execution.ActionExecutor] - <Finished
executing [EvaluateAction@4601aaf9 expression =
determineDelegatedAuthenticationAction, resultExpression = [null]]; result
= success>
2021-10-27 17:12:16,564 DEBUG
[org.springframework.webflow.engine.Transition] - <Executing
[Transition@d3ed5af on = success, to =
determineMultifactorPasswordlessAuthentication]>
2021-10-27 17:12:16,564 DEBUG
[org.springframework.webflow.engine.Transition] - <Exiting state
'determineDelegatedAuthentication'>
2021-10-27 17:12:16,564 DEBUG
[org.springframework.webflow.engine.ActionState] - <Entering state
'determineMultifactorPasswordlessAuthentication' of flow 'login'>
2021-10-27 17:12:16,564 DEBUG
[org.springframework.webflow.execution.ActionExecutor] - <Executing
[EvaluateAction@4623f093 expression =
determineMultifactorPasswordlessAuthenticationAction, resultExpression =
[null]]>
2021-10-27 17:12:16,564 DEBUG
[org.springframework.webflow.execution.ActionExecutor] - <Executing
org.apereo.cas.web.flow.DetermineMultifactorPasswordlessAuthenticationAction@865db32
>
2021-10-27 17:12:16,566 DEBUG
[org.springframework.webflow.engine.impl.FlowExecutionImpl] - <Attempting
to handle [org.springframework.webflow.execution.ActionExecutionException:
Exception thrown executing
org.apereo.cas.web.flow.DetermineMultifactorPasswordlessAuthenticationAction@865db32
in state 'determineMultifactorPasswordlessAuthentication' of flow 'login'
-- action execution attributes were 'map[[empty]]'] with root cause
[java.lang.NullPointerException: id is marked non-null but is null]>
2021-10-27 17:12:16,566 DEBUG
[org.springframework.webflow.engine.impl.FlowExecutionImpl] - <Rethrowing
unhandled flow execution exception>
2021-10-27 17:12:16,566 DEBUG
[org.apereo.cas.web.FlowExecutionExceptionResolver] - <Ignoring the
received exception
[org.springframework.webflow.execution.ActionExecutionException: Exception
thrown executing
org.apereo.cas.web.flow.DetermineMultifactorPasswordlessAuthenticationAction@865db32
in state 'determineMultifactorPasswordlessAuthentication' of flow 'login'
-- action execution attributes were 'map[[empty]]'] due to a type mismatch
with handler [[FlowHandlerMapping.DefaultFlowHandler@3bd87f5a]]>
2021-10-27 17:12:16,566 DEBUG
[org.apereo.cas.web.FlowExecutionExceptionResolver] - <Ignoring the
received exception
[org.springframework.webflow.execution.ActionExecutionException: Exception
thrown executing
org.apereo.cas.web.flow.DetermineMultifactorPasswordlessAuthenticationAction@865db32
in state 'determineMultifactorPasswordlessAuthentication' of flow 'login'
-- action execution attributes were 'map[[empty]]'] due to a type mismatch
with handler [[FlowHandlerMapping.DefaultFlowHandler@3bd87f5a]]>
2021-10-27 17:12:16,566 DEBUG
[org.springframework.web.servlet.DispatcherServlet] - <Failed to complete
request: org.springframework.webflow.execution.ActionExecutionException:
Exception thrown executing
org.apereo.cas.web.flow.DetermineMultifactorPasswordlessAuthenticationAction@865db32
in state 'determineMultifactorPasswordlessAuthentication' of flow 'login'
-- action execution attributes were 'map[[empty]]'>
2021-10-27 17:12:16,575 ERROR
[org.springframework.boot.web.servlet.support.ErrorPageFilter] -
<Forwarding to error page from request [/login] due to exception [Exception
thrown executing
org.apereo.cas.web.flow.DetermineMultifactorPasswordlessAuthenticationAction@865db32
in state 'determineMultifactorPasswordlessAuthentication' of flow 'login'
-- action execution attributes were 'map[[empty]]']>
org.springframework.webflow.execution.ActionExecutionException: Exception
thrown executing
org.apereo.cas.web.flow.DetermineMultifactorPasswordlessAuthenticationAction@865db32
in state 'determineMultifactorPasswordlessAuthentication' of flow 'login'
-- action execution attributes were 'map[[empty]]'
at
org.springframework.webflow.execution.ActionExecutor.execute(ActionExecutor.java:62)
~[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.ActionState.doEnter(ActionState.java:105)
~[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.ActionState.doEnter(ActionState.java:105)
~[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.$Proxy294.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:681)
~[servlet-api.jar:4.0.FR]
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:764)
~[servlet-api.jar:4.0.FR]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)
~[catalina.jar:9.0.52]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
~[catalina.jar:9.0.52]
at
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
~[tomcat-websocket.jar:9.0.52]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
~[catalina.jar:9.0.52]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
~[catalina.jar:9.0.52]
at
org.apereo.cas.web.support.AuthenticationCredentialsThreadLocalBinderClearingFilter.doFilter(AuthenticationCredentialsThreadLocalBinderClearingFilter.java:28)
~[cas-server-core-web-api-6.3.7.ja r:6.3.7]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
~[catalina.jar:9.0.52]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
~[catalina.jar:9.0.52]
at
org.apereo.cas.web.support.filters.RequestParameterPolicyEnforcementFilter.doFilter(RequestParameterPolicyEnforcementFilter.java:401)
~[cas-server-core-web-api-6.3.7.jar:6.3.7]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
~[catalina.jar:9.0.52]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
~[catalina.jar:9.0.52]
at
org.apereo.cas.web.support.filters.ResponseHeadersEnforcementFilter.doFilter(ResponseHeadersEnforcementFilter.java:200)
~[cas-server-core-web-api-6.3.7.jar:6.3.7]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
~[catalina.jar:9.0.52]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
~[catalina.jar:9.0.52]
at
org.apereo.cas.web.support.filters.AddResponseHeadersFilter.doFilter(AddResponseHeadersFilter.java:64)
~[cas-server-core-web-api-6.3.7.jar:6.3.7]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
~[catalina.jar:9.0.52]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
~[catalina.jar:9.0.52]
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:189)
~[catalina.jar:9.0.52]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
~[catalina.jar:9.0.52]
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:189)
~[catalina.jar:9.0.52]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
~[catalina.jar:9.0.52]
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:189)
~[catalina.jar:9.0.52]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
~[catalina.jar:9.0.52]
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:189)
~[catalina.jar:9.0.52]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
~[catalina.jar:9.0.52]
at
org.apereo.cas.logging.web.ThreadContextMDCServletFilter.doFilter(ThreadContextMDCServletFilter.java:99)
~[cas-server-core-logging-6.3.7.jar:6.3.7]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
~[catalina.jar:9.0.52]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
~[catalina.jar:9.0.52]
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:189)
~[catalina.jar:9.0.52]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
~[catalina.jar:9.0.52]
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:189)
~[catalina.jar:9.0.52]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
~[catalina.jar:9.0.52]
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:189)
~[catalina.jar:9.0.52]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
~[catalina.jar:9.0.52]
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:189)
~[catalina.jar:9.0.52]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
~[catalina.jar:9.0.52]
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)
~[catalina.jar:9.0.52]
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
~[catalina.jar:9.0.52]
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)
~[catalina.jar:9.0.52]
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)
~[catalina.jar:9.0.52]
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
~[catalina.jar:9.0.52]
at
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)
~[catalina.jar:9.0.52]
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
~[catalina.jar:9.0.52]
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)
~[catalina.jar:9.0.52]
at
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382)
~[tomcat-coyote.jar:9.0.52]
at
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
~[tomcat-coyote.jar:9.0.52]
at
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893)
~[tomcat-coyote.jar:9.0.52]
at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1726)
~[tomcat-coyote.jar:9.0.52]
at
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
~[tomcat-coyote.jar:9.0.52]
at
org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
~[tomcat-util.jar:9.0.52]
at
org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
~[tomcat-util.jar:9.0.52]
at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
~[tomcat-util.jar:9.0.52]
at java.lang.Thread.run(Thread.java:829) [?:?]
Caused by: java.lang.NullPointerException: id is marked non-null but is null
at
org.apereo.cas.authentication.principal.SimplePrincipal.<init>(SimplePrincipal.java:60)
~[cas-server-core-authentication-api-6.3.7.jar:6.3.7]
at
org.apereo.cas.authentication.principal.DefaultPrincipalFactory.createPrincipal(DefaultPrincipalFactory.java:20)
~[cas-server-core-authentication-api-6.3.7.jar:6.3.7]
at
org.apereo.cas.web.flow.DetermineMultifactorPasswordlessAuthenticationAction.doExecute(DetermineMultifactorPasswordlessAuthenticationAction.java:64)
~[cas-server-support-passwordless-webflow-6. 3.7.jar:6.3.7]
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.GeneratedMethodAccessor313.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.$Proxy186.execute(Unknown
Source) ~[?:?]
at
org.springframework.webflow.execution.ActionExecutor.execute(ActionExecutor.java:51)
~[spring-webflow-2.5.1.RELEASE.jar:2.5.1.RELEASE]
... 127 more
2021-10-27 17:12:16,575 DEBUG
[org.springframework.web.servlet.DispatcherServlet] - <"FORWARD" dispatch
for POST
"/cas/error?service=https%3A%2F%2Fidm-cas1a-d.kumctest.edu%3A8443%2Fcas%2Foauth2.0%2Fcallba
ckAuthorize%3Fclient_id%3Dssprtest%26redirect_uri%3Dhttps%253A%252F%
252Fidm-sspr2a-t.kumctest.edu%253A8443%252Fsspr%252Fpublic%252Foauth%26response_type%3Dcode%26client_name%3DCasOAuthClient",
parameters= {masked}>
2021-10-27 17:12:16,576 DEBUG
[org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping]
- <Mapped to
org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorControlle
r#errorHtml(HttpServletRequest, HttpServletResponse)>
2021-10-27 17:12:16,589 DEBUG
[org.springframework.web.servlet.view.ContentNegotiatingViewResolver] -
<Selected 'text/html' given [text/html, text/html;q=0.8]>
2021-10-27 17:12:16,633 DEBUG
[org.springframework.web.servlet.DispatcherServlet] - <Exiting from
"FORWARD" dispatch, status 500>
--
- 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/CAAJFpbGYRQFkxJTgmiFY9h-5rnZQh3wP-aG29xDrpwmvYZRrew%40mail.gmail.com.