Misagh,
I tried using 4.2.4-SNAPSHOT and 4.2.5-SNAPSHOT, but I still got the same
error. I was surprised I did not have to update anything when deploying those
snapshots. Attached is the error I got when trying both versions.
After that, I tried 4.2.0 and it is working with my application. I don’t get
an error message, I just see this where the error would normally appear:
2016-07-29 11:25:09,773 DEBUG
[org.jasig.cas.services.DefaultRegisteredServiceUsernameProvider] - Returning
the default principal id [david.abney] for username.
2016-07-29 11:25:57,422 DEBUG [org.jasig.cas.util.CasSpringBeanJobFactory] -
Created job
org.jasig.cas.services.DefaultServicesManagerImpl$ServiceRegistryReloaderJob@3f301341
for bundle
org.quartz.spi.TriggerFiredBundle@6d4030cf<mailto:org.quartz.spi.TriggerFiredBundle@6d4030cf>
Also, when trying 4.2.0, I removed a custom theme I was testing.
––––––––––––––––––––
David Abney
ITS Web Developer/Programmer
600 West Walnut Street
Danville, Kentucky 40422
859.238.5761
[email_logo]
www.centre.edu<http://www.centre.edu/>
From: [email protected] [mailto:[email protected]] On Behalf Of Misagh
Moayyed
Sent: Friday, July 29, 2016 10:47 AM
To: [email protected]
Subject: RE: [cas-user] Google Apps Integration Problem
That helps in that it rules out my working theory! Try 4.2.4-SNAPSHOT or
4.2.5-SNAPSHOT, redeploy, retry and paste back the logs. That should further
clarify where the issue is.
--
Misagh
From: David Abney <[email protected]><mailto:[email protected]>
Reply: David Abney <[email protected]><mailto:[email protected]>
Date: July 29, 2016 at 7:41:11 AM
To: Misagh Moayyed <[email protected]><mailto:[email protected]>,
[email protected]<mailto:[email protected]>
<[email protected]><mailto:[email protected]>
Subject: RE: [cas-user] Google Apps Integration Problem
Misagh,
I set a 30 second skew allowance and set the logs to be Debug and tried again.
I see these DEBUG messages:
2016-07-29 10:28:44,286 DEBUG
[org.jasig.cas.support.saml.authentication.principal.SamlServiceFactory] -
Request does not specify a TARGET or request body is empty
2016-07-29 10:28:44,287 DEBUG
[org.jasig.cas.support.saml.authentication.principal.GoogleAccountsServiceResponseBuilder]
- Using 30000 seconds as skew allowance.
2016-07-29 10:28:44,287 DEBUG
[org.jasig.cas.web.support.DefaultArgumentExtractor] - Created [my_service_url]
based on
org.jasig.cas.support.saml.authentication.principal.GoogleAccountsServiceFactory@54e059ef<mailto:org.jasig.cas.support.saml.authentication.principal.GoogleAccountsServiceFactory@54e059ef>
2016-07-29 10:28:44,288 DEBUG
[org.jasig.cas.web.support.DefaultArgumentExtractor] - Extractor generated
service for: [my_service_url]
2016-07-29 10:28:44,288 DEBUG [org.jasig.cas.web.flow.InitialFlowSetupAction] -
Placing service in context scope: [my_service_url]
2016-07-29 10:28:44,288 DEBUG [org.jasig.cas.web.flow.InitialFlowSetupAction] -
Placing service in context scope: [my_service_url]
The logs go on and everything seems fine, it says I authenticated successfully,
resolves my attributes from LDAP, and creates a ticket, then I see this error
message:
2016-07-29 10:29:00,656 DEBUG
[org.jasig.cas.services.DefaultRegisteredServiceUsernameProvider] - Returning
the default principal id [david.abney] for username.
2016-07-29 10:29:00,663 DEBUG
[org.jasig.cas.web.FlowExecutionExceptionResolver] - Ignoring the received
exception due to a type mismatch
org.springframework.webflow.execution.ActionExecutionException: Exception
thrown executing [AnnotatedAction@44e71d85 targetAction =
[EvaluateAction@ab8416b expression =
flowScope.service.getResponse(requestScope.serviceTicketId), resultExpression =
requestScope.response], attributes = map[[empty]]] in state 'redirect' of flow
'login' -- action execution attributes were 'map[[empty]]'
at
org.springframework.webflow.execution.ActionExecutor.execute(ActionExecutor.java:60)
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)
Does that help?
Thanks,
––––––––––––––––––––
David Abney
ITS Web Developer/Programmer
600 West Walnut Street
Danville, Kentucky 40422
859.238.5761
[email_logo]
www.centre.edu<http://www.centre.edu/>
From: [email protected]<mailto:[email protected]>
[mailto:[email protected]] On Behalf Of Misagh Moayyed
Sent: Friday, July 29, 2016 10:20 AM
To: [email protected]<mailto:[email protected]>
Subject: Re: [cas-user] Google Apps Integration Problem
Working theory: Turn your CAS logs up to DEBUG. Set a skewAllowance for
googleApps to some value. Watch the logs next when you redeploy and see whether
you spot the same error, or you actually see a relevant log entry about the
skew allowance setting.
--
Misagh
From: David Abney <[email protected]><mailto:[email protected]>
Reply: David Abney <[email protected]><mailto:[email protected]>
Date: July 29, 2016 at 6:27:22 AM
To: [email protected]<mailto:[email protected]>
<[email protected]><mailto:[email protected]>
Subject: [cas-user] Google Apps Integration Problem
I am currently updating to CAS v4.2.3 and trying to setup an application that
uses the Google Apps integration with CAS. I believe I tested this setup and
it worked in 4.1.x. Anyway, whenever I try to login to CAS, I am able to
authenticate with my active directory username and password, but then I get an
error message that “CAS is unavailable”. The other services that don’t use
the Google Apps integration are working just fine. In the tomcat error log I
get this message:
SEVERE: Servlet.service() for servlet [cas] in context with path [/cas] threw
exception [Request processing failed; nested exception is
org.springframework.webflow.execution.ActionExecutionException: Exception
thrown executing [AnnotatedAction@40cf8796 targetAction =
[EvaluateAction@78ceaa17 expression =
flowScope.service.getResponse(requestScope.serviceTicketId), resultExpression =
requestScope.response], attributes = map[[empty]]] in state 'redirect' of flow
'login' -- action execution attributes were 'map[[empty]]'] with root cause
java.lang.NullPointerException
at
org.jasig.cas.support.saml.authentication.principal.GoogleAccountsServiceResponseBuilder.constructSamlResponse(GoogleAccountsServiceResponseBuilder.java:119)
at
org.jasig.cas.support.saml.authentication.principal.GoogleAccountsServiceResponseBuilder.build_aroundBody0(GoogleAccountsServiceResponseBuilder.java:62)
at
org.jasig.cas.support.saml.authentication.principal.GoogleAccountsServiceResponseBuilder$AjcClosure1.run(GoogleAccountsServiceResponseBuilder.java:1)
…
I assume this process is failing because the attribute map is empty, but I
don’t know how to fix this problem. I have attached a copy of my
deployerConfigContext file. Also, my Google Apps settings are in the
cas.properties file. Any thoughts on why this is occuring?
Thanks,
––––––––––––––––––––
David Abney
ITS Web Developer/Programmer
600 West Walnut Street
Danville, Kentucky 40422
859.238.5761
[email_logo]
www.centre.edu<http://www.centre.edu/>
--
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]<mailto:[email protected]>.
To post to this group, send email to
[email protected]<mailto:[email protected]>.
Visit this group at https://groups.google.com/a/apereo.org/group/cas-user/.
To view this discussion on the web visit
https://groups.google.com/a/apereo.org/d/msgid/cas-user/bcd5c0d98a1149a0a46ab2ef131f0bd9%40Exchange-MB2.centre.edu<https://groups.google.com/a/apereo.org/d/msgid/cas-user/bcd5c0d98a1149a0a46ab2ef131f0bd9%40Exchange-MB2.centre.edu?utm_medium=email&utm_source=footer>.
For more options, visit https://groups.google.com/a/apereo.org/d/optout.
--
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]<mailto:[email protected]>.
To post to this group, send email to
[email protected]<mailto:[email protected]>.
Visit this group at https://groups.google.com/a/apereo.org/group/cas-user/.
To view this discussion on the web visit
https://groups.google.com/a/apereo.org/d/msgid/cas-user/etPan.579b65fa.6f0b0585.29c2%40unicon.net<https://groups.google.com/a/apereo.org/d/msgid/cas-user/etPan.579b65fa.6f0b0585.29c2%40unicon.net?utm_medium=email&utm_source=footer>.
For more options, visit https://groups.google.com/a/apereo.org/d/optout.
--
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]<mailto:[email protected]>.
To post to this group, send email to
[email protected]<mailto:[email protected]>.
Visit this group at https://groups.google.com/a/apereo.org/group/cas-user/.
To view this discussion on the web visit
https://groups.google.com/a/apereo.org/d/msgid/cas-user/d7ce120c8fb74255a244f7c3b873e5b8%40Exchange-MB2.centre.edu<https://groups.google.com/a/apereo.org/d/msgid/cas-user/d7ce120c8fb74255a244f7c3b873e5b8%40Exchange-MB2.centre.edu?utm_medium=email&utm_source=footer>.
For more options, visit https://groups.google.com/a/apereo.org/d/optout.
--
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]<mailto:[email protected]>.
To post to this group, send email to
[email protected]<mailto:[email protected]>.
Visit this group at https://groups.google.com/a/apereo.org/group/cas-user/.
To view this discussion on the web visit
https://groups.google.com/a/apereo.org/d/msgid/cas-user/etPan.579b6c77.25d96374.29c2%40unicon.net<https://groups.google.com/a/apereo.org/d/msgid/cas-user/etPan.579b6c77.25d96374.29c2%40unicon.net?utm_medium=email&utm_source=footer>.
For more options, visit https://groups.google.com/a/apereo.org/d/optout.
--
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 post to this group, send email to [email protected].
Visit this group at https://groups.google.com/a/apereo.org/group/cas-user/.
To view this discussion on the web visit
https://groups.google.com/a/apereo.org/d/msgid/cas-user/0d49d8a496254f7b984e34a99b17360a%40Exchange-MB2.centre.edu.
For more options, visit https://groups.google.com/a/apereo.org/d/optout.
2016-07-29 10:59:54,753 DEBUG
[org.jasig.cas.services.DefaultRegisteredServiceUsernameProvider] - Returning
the default principal id [david.abney] for username.
2016-07-29 10:59:54,792 DEBUG
[org.jasig.cas.web.FlowExecutionExceptionResolver] - Ignoring the received
exception due to a type mismatch
org.springframework.webflow.execution.ActionExecutionException: Exception
thrown executing [AnnotatedAction@312f5e3f targetAction =
[EvaluateAction@38eff77b expression =
flowScope.service.getResponse(requestScope.serviceTicketId), resultExpression =
requestScope.response], attributes = map[[empty]]] in state 'redirect' of flow
'login' -- action execution attributes were 'map[[empty]]'
at
org.springframework.webflow.execution.ActionExecutor.execute(ActionExecutor.java:60)
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.DecisionState.doEnter(DecisionState.java:51)
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.DecisionState.doEnter(DecisionState.java:51)
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.ViewState.handleEvent(ViewState.java:231)
at
org.springframework.webflow.engine.ViewState.resume(ViewState.java:195)
at org.springframework.webflow.engine.Flow.resume(Flow.java:537)
at
org.springframework.webflow.engine.impl.FlowExecutionImpl.resume(FlowExecutionImpl.java:259)
at
org.springframework.webflow.executor.FlowExecutorImpl.resumeExecution(FlowExecutorImpl.java:169)
at
org.springframework.webflow.mvc.servlet.FlowHandlerAdapter.handle(FlowHandlerAdapter.java:228)
at
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)
at
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
at
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
at
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
at
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at
org.apereo.cas.security.ResponseHeadersEnforcementFilter.doFilter(ResponseHeadersEnforcementFilter.java:238)
at
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
at
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at
org.apereo.cas.security.RequestParameterPolicyEnforcementFilter.doFilter(RequestParameterPolicyEnforcementFilter.java:261)
at
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
at
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at
org.jasig.inspektr.common.web.ClientInfoThreadLocalFilter.doFilter(ClientInfoThreadLocalFilter.java:62)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:121)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
at
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
at
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
at
org.jasig.cas.support.saml.authentication.principal.GoogleAccountsServiceResponseBuilder.constructSamlResponse(GoogleAccountsServiceResponseBuilder.java:119)
at
org.jasig.cas.support.saml.authentication.principal.GoogleAccountsServiceResponseBuilder.build(GoogleAccountsServiceResponseBuilder.java:62)
at
org.jasig.cas.authentication.principal.AbstractWebApplicationService.getResponse(AbstractWebApplicationService.java:172)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at
org.springframework.expression.spel.support.ReflectiveMethodExecutor.execute(ReflectiveMethodExecutor.java:113)
at
org.springframework.expression.spel.ast.MethodReference.getValueInternal(MethodReference.java:129)
at
org.springframework.expression.spel.ast.MethodReference.access$000(MethodReference.java:49)
at
org.springframework.expression.spel.ast.MethodReference$MethodValueRef.getValue(MethodReference.java:342)
at
org.springframework.expression.spel.ast.CompoundExpression.getValueInternal(CompoundExpression.java:88)
at
org.springframework.expression.spel.ast.SpelNodeImpl.getTypedValue(SpelNodeImpl.java:131)
at
org.springframework.expression.spel.standard.SpelExpression.getValue(SpelExpression.java:299)
at
org.springframework.binding.expression.spel.SpringELExpression.getValue(SpringELExpression.java:84)
at
org.springframework.webflow.action.EvaluateAction.doExecute(EvaluateAction.java:75)
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)
... 90 more