Bug: cas 6.3 webflow with Duo

74 views
Skip to first unread message

Ray Bon

unread,
Apr 28, 2021, 6:36:03 PM4/28/21
to cas-...@apereo.org
Setup:
Given a fresh 6.3 install, I configured Duo MFA integration and have a service definition that requires it.
The Duo configuration is limited to the 4 required fields, all others are defaults.

Process (success):
A user that is _not_ registered in Duo, does not experience an error.
A user that _is_ registered in Duo, and logs in to the Duo MFA service, works as expected.

Process (fail):
However, if the Duo registered user logs in to a service that does _not_ required Duo MFA and later tries to access the Duo MFA requiring service, Cas throws a 500.

Data:
Prior to the error, Cas successfully contacts Duo and gets an 'Account is Active' message. The web flow then fails with a null pointer exception. (Log below.)

If anyone has any suggestions or work arounds, please post.

TIA

Ray

2021-04-28 14:46:16,597 DEBUG [aper.cas.adap.duo.auth.BasicDuoSecurityAuthenticationService] - <Received Duo ping response [{"response": "pong", "stat": "OK"}]> [ajp-nio-127.0.0.1-8010-exec-10]
2021-04-28 14:46:16,598 DEBUG [.aper.cas.adap.duo.auth.BaseDuoSecurityAuthenticationService] - <Contacting Duo to inquire about username [rbon]> [ajp-nio-127.0.0.1-8010-exec-10]
2021-04-28 14:46:16,989 DEBUG [.aper.cas.adap.duo.auth.BaseDuoSecurityAuthenticationService] - <Received Duo admin response [{"response": {"devices": [{"capabilities": ["auto", "push", "mobile_otp"], "device": "
D...K", "display_name": "iOS (XXX-XXX-XXXX)", "name": "", "number": "XXX-XXX-XXXX", "type": "phone"}], "result": "auth", "status_msg": "Account is active"}, "stat": "OK"}]> [ajp-nio-127.0.0.1-8010
-exec-10]
2021-04-28 14:46:16,990 DEBUG [.aper.cas.adap.duo.auth.BaseDuoSecurityAuthenticationService] - <Fetched and cached duo user account [DuoSecurityUserAccount(status=AUTH, enrollPortalUrl=null, username=rbon, messa
ge=Account is active)]> [ajp-nio-127.0.0.1-8010-exec-10]
2021-04-28 14:46:16,993 ERROR [                 org.spri.boot.web.serv.supp.ErrorPageFilter] - <Forwarding to error page from request [/login] due to exception [Exception thrown executing org.apereo.cas.web.flow
.actions.CheckWebAuthenticationRequestAction@72f3ab7b in state 'determineDuoRequest' of flow 'mfa-duo' -- action execution attributes were 'map['resolvedAuthenticationEvents' -> list[mfa-duo]]']> [ajp-nio-127.0.
0.1-8010-exec-10]
org.springframework.webflow.execution.ActionExecutionException: Exception thrown executing org.apereo.cas.web.flow.actions.CheckWebAuthenticationRequestAction@72f3ab7b in state 'determineDuoRequest' of flow 'mfa-duo' -- action execution attributes were 'map['resolvedAuthenticationEvents' -> list[mfa-duo]]'
at org.springframework.webflow.execution.ActionExecutor.execute(ActionExecutor.java:62)
at org.springframework.webflow.action.EvaluateAction.doExecute(EvaluateAction.java:77)
at org.springframework.webflow.action.AbstractAction.execute(AbstractAction.java:188)
at org.springframework.webflow.execution.AnnotatedAction.execute(AnnotatedAction.java:145)
at org.springframework.webflow.execution.ActionExecutor.execute(ActionExecutor.java:51)
at org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:101)
at org.springframework.webflow.engine.State.enter(State.java:194)
at org.springframework.webflow.engine.Transition.execute(Transition.java:228)
at org.springframework.webflow.engine.impl.FlowExecutionImpl.execute(FlowExecutionImpl.java:395)
at org.springframework.webflow.engine.impl.RequestControlContextImpl.execute(RequestControlContextImpl.java:214)
at org.springframework.webflow.engine.TransitionableState.handleEvent(TransitionableState.java:116)
at org.springframework.webflow.engine.Flow.handleEvent(Flow.java:547)
at org.springframework.webflow.engine.impl.FlowExecutionImpl.handleEvent(FlowExecutionImpl.java:390)
at org.springframework.webflow.engine.impl.RequestControlContextImpl.handleEvent(RequestControlContextImpl.java:210)
at org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:105)
at org.springframework.webflow.engine.State.enter(State.java:194)
at org.springframework.webflow.engine.Transition.execute(Transition.java:228)
at org.springframework.webflow.engine.impl.FlowExecutionImpl.execute(FlowExecutionImpl.java:395)
at org.springframework.webflow.engine.impl.RequestControlContextImpl.execute(RequestControlContextImpl.java:214)
at org.springframework.webflow.engine.TransitionableState.handleEvent(TransitionableState.java:116)
at org.springframework.webflow.engine.Flow.handleEvent(Flow.java:547)
at org.springframework.webflow.engine.impl.FlowExecutionImpl.handleEvent(FlowExecutionImpl.java:390)
at org.springframework.webflow.engine.impl.RequestControlContextImpl.handleEvent(RequestControlContextImpl.java:210)
at org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:105)
at org.springframework.webflow.engine.State.enter(State.java:194)
at org.springframework.webflow.engine.Transition.execute(Transition.java:228)
at org.springframework.webflow.engine.impl.FlowExecutionImpl.execute(FlowExecutionImpl.java:395)
at org.springframework.webflow.engine.impl.RequestControlContextImpl.execute(RequestControlContextImpl.java:214)
at org.springframework.webflow.engine.TransitionableState.handleEvent(TransitionableState.java:116)
at org.springframework.webflow.engine.Flow.handleEvent(Flow.java:547)
at org.springframework.webflow.engine.impl.FlowExecutionImpl.handleEvent(FlowExecutionImpl.java:390)
at org.springframework.webflow.engine.impl.RequestControlContextImpl.handleEvent(RequestControlContextImpl.java:210)
at org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:105)
at org.springframework.webflow.engine.State.enter(State.java:194)
at org.springframework.webflow.engine.Transition.execute(Transition.java:228)
at org.springframework.webflow.engine.impl.FlowExecutionImpl.execute(FlowExecutionImpl.java:395)
at org.springframework.webflow.engine.impl.RequestControlContextImpl.execute(RequestControlContextImpl.java:214)
at org.springframework.webflow.engine.TransitionableState.handleEvent(TransitionableState.java:116)
at org.springframework.webflow.engine.Flow.handleEvent(Flow.java:547)
at org.springframework.webflow.engine.impl.FlowExecutionImpl.handleEvent(FlowExecutionImpl.java:390)
at org.springframework.webflow.engine.impl.RequestControlContextImpl.handleEvent(RequestControlContextImpl.java:210)
at org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:105)
at org.springframework.webflow.engine.State.enter(State.java:194)
at org.springframework.webflow.engine.Flow.start(Flow.java:527)
at org.springframework.webflow.engine.impl.FlowExecutionImpl.start(FlowExecutionImpl.java:368)
at org.springframework.webflow.engine.impl.RequestControlContextImpl.start(RequestControlContextImpl.java:234)
at org.springframework.webflow.engine.SubflowState.doEnter(SubflowState.java:101)
at org.springframework.webflow.engine.State.enter(State.java:194)
at org.springframework.webflow.engine.Transition.execute(Transition.java:228)
at org.springframework.webflow.engine.impl.FlowExecutionImpl.execute(FlowExecutionImpl.java:395)
at org.springframework.webflow.engine.impl.RequestControlContextImpl.execute(RequestControlContextImpl.java:214)
at org.springframework.webflow.engine.TransitionableState.handleEvent(TransitionableState.java:116)
at org.springframework.webflow.engine.Flow.handleEvent(Flow.java:547)
at org.springframework.webflow.engine.impl.FlowExecutionImpl.handleEvent(FlowExecutionImpl.java:390)
at org.springframework.webflow.engine.impl.RequestControlContextImpl.handleEvent(RequestControlContextImpl.java:210)
at org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:105)
at org.springframework.webflow.engine.State.enter(State.java:194)
at org.springframework.webflow.engine.Flow.start(Flow.java:527)
at org.springframework.webflow.engine.impl.FlowExecutionImpl.start(FlowExecutionImpl.java:368)
at org.springframework.webflow.engine.impl.FlowExecutionImpl.start(FlowExecutionImpl.java:223)
at org.springframework.webflow.executor.FlowExecutorImpl.launchExecution(FlowExecutorImpl.java:139)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:282)
at org.springframework.cloud.context.scope.GenericScope$LockedScopedProxyFactoryBean.invoke(GenericScope.java:499)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212)
at com.sun.proxy.$Proxy252.launchExecution(Unknown Source)
at org.springframework.webflow.mvc.servlet.FlowHandlerAdapter.handle(FlowHandlerAdapter.java:264)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:634)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apereo.cas.web.support.AuthenticationCredentialsThreadLocalBinderClearingFilter.doFilter(AuthenticationCredentialsThreadLocalBinderClearingFilter.java:28)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apereo.cas.web.support.filters.RequestParameterPolicyEnforcementFilter.doFilter(RequestParameterPolicyEnforcementFilter.java:401)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apereo.cas.web.support.filters.ResponseHeadersEnforcementFilter.doFilter(ResponseHeadersEnforcementFilter.java:200)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apereo.cas.web.support.filters.AddResponseHeadersFilter.doFilter(AddResponseHeadersFilter.java:64)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:204)
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:183)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:93)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apereo.cas.logging.web.ThreadContextMDCServletFilter.doFilter(ThreadContextMDCServletFilter.java:99)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apereo.inspektr.common.web.ClientInfoThreadLocalFilter.doFilter(ClientInfoThreadLocalFilter.java:66)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:126)
at org.springframework.boot.web.servlet.support.ErrorPageFilter.access$000(ErrorPageFilter.java:64)
at org.springframework.boot.web.servlet.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:101)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.logging.log4j.web.Log4jServletFilter.doFilter(Log4jServletFilter.java:71)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:688)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:432)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1594)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: java.lang.NullPointerException
at java.base/java.util.regex.Matcher.getTextLength(Matcher.java:1770)
at java.base/java.util.regex.Matcher.reset(Matcher.java:416)
at java.base/java.util.regex.Matcher.<init>(Matcher.java:253)
at java.base/java.util.regex.Pattern.matcher(Pattern.java:1133)
at org.apereo.cas.util.RegexUtils.find(RegexUtils.java:143)
at org.apereo.cas.web.flow.actions.CheckWebAuthenticationRequestAction.doExecute(CheckWebAuthenticationRequestAction.java:29)
at org.springframework.webflow.action.AbstractAction.execute(AbstractAction.java:188)
at jdk.internal.reflect.GeneratedMethodAccessor282.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:282)
at org.springframework.cloud.context.scope.GenericScope$LockedScopedProxyFactoryBean.invoke(GenericScope.java:499)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212)
at com.sun.proxy.$Proxy160.execute(Unknown Source)
at org.springframework.webflow.execution.ActionExecutor.execute(ActionExecutor.java:51)
... 149 more


-- 
Ray Bon
Programmer Analyst
Development Services, University Systems

I respectfully acknowledge that my place of work is located within the ancestral, traditional and unceded territory of the Songhees, Esquimalt and WSÁNEĆ Nations.

Misagh

unread,
Apr 29, 2021, 3:23:04 AM4/29/21
to CAS Community
On Thu, Apr 29, 2021 at 2:36 AM Ray Bon <rb...@uvic.ca> wrote:
>
> Setup:
> Given a fresh 6.3 install, I configured Duo MFA integration and have a service definition that requires it.

Could you be more specific please? What exact CAS version are you using?

Ray Bon

unread,
Apr 29, 2021, 2:49:16 PM4/29/21
to cas-...@apereo.org
cas-overlay-template
cas.version=6.3.2

git log -1

commit 995813b85141124952fdc362fefebd3b9dead061 (vendor/6.3)
Author: Misagh Moayyed <mm1...@gmail.com>
Date:   2021-02-14 11:09:01 +0330

    Update gradle.properties


Ray

On Thu, 2021-04-29 at 11:22 +0400, Misagh wrote:
Notice: This message was sent from outside the University of Victoria email system. Please be cautious with links and sensitive information.
--
- 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 
cas-user+u...@apereo.org
.
To view this discussion on the web visit 
https://groups.google.com/a/apereo.org/d/msgid/cas-user/CAGSBKkdPOpBytS_U9KFW-6WxvoJOsRJYcrxTPAHYDgEmnKTxaw%40mail.gmail.com
.

Misagh

unread,
Apr 29, 2021, 3:23:13 PM4/29/21
to CAS Community
Have you tried this with the next patch release? 

-- Misagh

Ray Bon

unread,
Apr 29, 2021, 9:28:49 PM4/29/21
to cas-...@apereo.org
It works as expected with cas-overlay-template master. (Details below.)

Any idea what is the hangup?

Ray


cas.version=6.4.0-SNAPSHOT

git log -1
commit 652546e2efea82ffa1c54b807314492f221dea1c (HEAD -> 64S, vendor/master)
Author: Misagh <misagh....@gmail.com>
Date:   2021-04-25 12:46:05 +0400

    dep-verification


2021-04-29 17:26:24,983 DEBUG [org.apereo.cas.adaptors.duo.authn.BasicDuoSecurityAuthenticationService] - <Received Duo ping response [{"response": "pong", "stat": "OK"}]>
2021-04-29 17:26:24,984 DEBUG [org.apereo.cas.adaptors.duo.authn.BaseDuoSecurityAuthenticationService] - <Contacting Duo to inquire about username [rbon]>
2021-04-29 17:26:25,359 DEBUG [org.apereo.cas.adaptors.duo.authn.BaseDuoSecurityAuthenticationService] - <Received Duo admin response [{"response": {"devices": [{"capabilities": ["auto", "push", "mobile_otp"], "device": "D...K", "display_name": "iOS (XXX-XXX-XXXX)", "name": "", "number": "XXX-XXX-XXXX", "type": "phone"}], "result": "auth", "status_msg": "Account is active"}, "stat": "OK"}]>
2021-04-29 17:26:25,379 DEBUG [org.apereo.cas.adaptors.duo.authn.BaseDuoSecurityAuthenticationService] - <Fetched and cached duo user account [DuoSecurityUserAccount(status=AUTH, enrollPortalUrl=null, username=rbon, message=Account is active)]>
2021-04-29 17:26:34,685 INFO [org.apereo.cas.services.AbstractServicesManager] - <Loaded [133] service(s) from [LdapServiceRegistry].>
2021-04-29 17:26:36,241 DEBUG [org.apereo.cas.adaptors.duo.authn.DuoSecurityAuthenticationHandler] - <Verified Duo authentication for user [rbon]>
2021-04-29 17:26:36,241 INFO [org.apereo.cas.adaptors.duo.authn.DuoSecurityAuthenticationHandler] - <Successful Duo authentication for [rbon]>
2021-04-29 17:26:36,242 INFO [org.apereo.cas.authentication.DefaultAuthenticationManager] - <Authenticated principal [rbon] with attributes [{}] via credentials [[DuoSecurityCredential(username=rbon, signedDuoResponse=AUTH|cmJvbnxESVQ2MVoxQjhNM0NIUTFTWFhaRHwxNjE5NzQyNDU2|bf53565ac2232b9c241833369ccefa58f0394222:APP|cmJvbnxESVQ2MVoxQjhNM0NIUTFTWFhaRHwxNjE5NzQ1OTg1|900a346a91345e271a4e5f5967d791d268e31d81, providerId=mfa-duo)]].>
2021-04-29 17:26:36,243 INFO [org.apereo.inspektr.audit.support.Slf4jLoggingAuditTrailManager] - <Thu Apr 29 17:26:36 PDT 2021|CAS|[DuoSecurityCredential(username=rbon, signedDuoResponse=AUTH|cmJvbnxESVQ2
MVoxQjhNM0NIUTFTWFhaRHwxNjE5NzQyNDU2|bf53565ac2232b9c241833369ccefa58f0394222:APP|cmJvbnxESVQ2MVoxQjhNM0NIUTFTWFhaRHwxNjE5NzQ1OTg1|900a346a91345e271a4e5f5967d791d268e31d81, providerId=mfa-duo)]|AUTHENTICATION_SUCCESS|rbon|nnn.nnn.nnn.nnn|nnn.nnn.nnn.nnn>

Misagh

unread,
Apr 30, 2021, 5:05:25 AM4/30/21
to CAS Community
On Fri, Apr 30, 2021 at 5:28 AM Ray Bon <rb...@uvic.ca> wrote:
>
> It works as expected with cas-overlay-template master. (Details below.)
>
> Any idea what is the hangup?

https://github.com/apereo/cas/pull/5073

Request is missing the content-type.

>
> cas.version=6.4.0-SNAPSHOT

This works too but you didn't have to go this far. 6.3.3 likely would
have been enough.
Reply all
Reply to author
Forward
0 new messages