After more digging...

The CAS 5.0.0.RC3 login page is rendered with a hidden link to the CAS 
client.

If I unhide the link in chrome and click it, I get...

org.springframework.webflow.engine.NoMatchingTransitionException: No transition 
was matched on the event(s) signaled by the [1] action(s) that executed in this 
action state 'clientAction' of flow 'login'; transitions must be defined to 
handle action result outcomes -- possible flow configuration error? Note: the 
eventIds signaled were: 'array['stopWebflow']', while the supported set of 
transitional criteria for this action state is 'array[success, error, stop]'
        at 
org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:130)
        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:140)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at 
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
        at 
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
        at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
        at 
org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133)
        at 
org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121)
        at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
        at 
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
        at com.sun.proxy.$Proxy166.launchExecution(Unknown Source)
        at 
org.springframework.webflow.mvc.servlet.FlowHandlerAdapter.handle(FlowHandlerAdapter.java:263)
        at 
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)
        at 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)
        at 
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
        at 
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
        at 
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
        at 
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
        at 
org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilterInternal(ApplicationContextHeaderFilter.java:55)
        at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
        at 
org.apereo.cas.web.support.CurrentCredentialsAndAuthenticationClearingFilter.doFilter(CurrentCredentialsAndAuthenticationClearingFilter.java:28)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
        at 
org.apereo.cas.security.RequestParameterPolicyEnforcementFilter.doFilter(RequestParameterPolicyEnforcementFilter.java:261)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
        at 
org.apereo.cas.security.ResponseHeadersEnforcementFilter.doFilter(ResponseHeadersEnforcementFilter.java:238)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
        at 
org.apereo.inspektr.common.web.ClientInfoThreadLocalFilter.doFilter(ClientInfoThreadLocalFilter.java:62)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
        at 
org.springframework.boot.actuate.trace.WebRequestTraceFilter.doFilterInternal(WebRequestTraceFilter.java:105)
        at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
        at 
org.apereo.cas.logging.web.ThreadContextMDCServletFilter.doFilter(ThreadContextMDCServletFilter.java:90)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
        at 
org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99)
        at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
        at 
org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:89)
        at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
        at 
org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:77)
        at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
        at 
org.springframework.boot.actuate.autoconfigure.MetricsFilter.doFilterInternal(MetricsFilter.java:107)
        at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
        at 
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
        at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:108)
        at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
        at 
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
        at 
org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:677)
        at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)
        at 
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:784)
        at 
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
        at 
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:802)
        at 
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1410)
        at 
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at 
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:745)


On Wednesday, 26 October 2016 12:46:06 UTC+1, Lewis Henderson wrote:
>
>
> <https://lh3.googleusercontent.com/-QcH_7bOluxY/WBCUhJyxFtI/AAAAAAAACf8/HO8ogx7fGbQ8zVmN8G2iUln8gbyhypKNgCLcB/s1600/OAuth2.png>
> Here is my attempt at a diagram!
>
> I am in control of everything inside the red box.
>
> What I have :-
>
>    1. User hits MyApp url and is redirected to CAS 5.0.0, which shows my 
>    login screen.
>    2. User logs in Ok.
>    3. User redirected back to MyApp Ok.
>
> What I need to do :-
>
>    1. User hits MyApp url and is redirected to CAS 4.x to show 3rd Party 
>    login screen.
>    2. User logs in.
>    3. User redirected back to MyApp.
>
> The reason for this setup is that I need to use the 3rd party CAS server 
> if there is one els use my own.
> Everything inside the red box is secured by OAuth2.
>
> I have added the cas-server-support-pac4j-webflow dependency and 
> configured the cas.authn.pac4j.cas.loginUrl to point to the CAS 4.x 
> server's /login url and set the protocol to CAS30.
>
> I do not get redirected to the CAS 4.x server for login. Am I 
> misunderstanding something or should this work?
>
>
> Cheers
>
>
> On Monday, 24 October 2016 14:03:10 UTC+1, Lewis Henderson wrote:
>>
>> Martin,
>>
>> Yes, I think your diagram shows it well.
>>
>> What I would eventually like is to have the OAuth network protected by a 
>> CAS server.
>>
>> The CAS server can be configured to provide Authentication itself as is 
>> the default or, as in this case, delegate authentication to another CAS 
>> server, using it's UI etc.
>>
>> What configuration is required to do the delegation in this case?
>>
>> I have added the cas-server-support-pac4j-webflow dependency and set the 
>> cas.server.authn.pac4j.cas.loginUrl and protocol. What else, if anything is 
>> required?
>>
>> I currently get the redirect but on successful authentication, the 
>> redirect back to my CAS server fails.
>>
>> I am not in the office at the moment, but will post the issue when I 
>> return....
>>
>>
>> Cheers!
>>
>> On Monday, 24 October 2016 13:30:11 UTC+1, Martin Bohun wrote:
>>>
>>> Hi Lewis,
>>>
>>> This is just a confirmation question, are you trying to delegate/forward 
>>> auth request from one cas server to another cas server?
>>> As shown in the following diagram (right-bottom corner):
>>>
>>>
>>> <https://raw.githubusercontent.com/mbohun/mbohun_graph-experiments/master/jasig-cas-upgrade/ala-cas-upgrade-01.png>
>>>
>>>
>>>
>>> https://github.com/mbohun/mbohun_graph-experiments/blob/master/jasig-cas-upgrade/ala-cas-upgrade-01.png
>>>
>>> Well, if yes, then the answer is (too) *yes* I did test that setup and 
>>> it works fine.
>>>
>>> cheers,
>>>
>>> martin
>>>
>>> On Sunday, October 23, 2016 at 5:55:52 AM UTC+11, Lewis Henderson wrote:
>>>>
>>>> All,
>>>>
>>>> I have a requirement to 'chain' two CAS servers.
>>>>
>>>> My issue is that I am integrating with a third party that use a CAS 
>>>> server that I have no control over.
>>>>
>>>> I would like to use CAS as the security server into an OAuth2 
>>>> micro-service network (CAS as OAuth2 Server) but redirect login to the 3rd 
>>>> Party CAS server.
>>>>
>>>> I have looked through the code and it seems as though if I manage to 
>>>> get it configured, it will show my login screen but with a link to the 
>>>> configured delegate server.
>>>>
>>>> Two questions :-
>>>>
>>>>
>>>>    1. How do I configure this on my CAS server?
>>>>    2. If there is only one provider, would it be possible to redirect 
>>>>    there directly, showing their login screen without the need to show 
>>>> mine? 
>>>>    The reason for this is that theirs is branded with their logos etc...
>>>>
>>>>
>>>> Cheers
>>>>
>>>>
>>>>

-- 
- CAS gitter chatroom: https://gitter.im/apereo/cas
- CAS mailing list guidelines: https://apereo.github.io/cas/Mailing-Lists.html
- CAS documentation website: https://apereo.github.io/cas
- CAS project website: https://github.com/apereo/cas
--- 
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+unsubscr...@apereo.org.
To view this discussion on the web visit 
https://groups.google.com/a/apereo.org/d/msgid/cas-user/3b692452-c732-4559-9c68-f27855059574%40apereo.org.

Reply via email to