I was able to resolve this on my own:

In my CAS server, I had to edit my cas-servlet.xml file and make the
following change:

Default/Old value:
<bean id="serviceValidateController"
class="org.jasig.cas.web.ServiceValidateController"
        *
p:validationSpecificationClass="org.jasig.cas.validation.Cas20WithoutProxyingValidationSpecification
**"*
        p:centralAuthenticationService-ref="centralAuthenticationService"
        p:proxyHandler-ref="proxy20Handler"
        p:argumentExtractor-ref="casArgumentExtractor" />

Changed to:
<bean id="serviceValidateController"
class="org.jasig.cas.web.ServiceValidateController"
        *
p:validationSpecificationClass="org.jasig.cas.validation.Cas20ProtocolValidationSpecification
**"*
        p:centralAuthenticationService-ref="centralAuthenticationService"
        p:proxyHandler-ref="proxy20Handler"
        p:argumentExtractor-ref="casArgumentExtractor" />

Once I made that change then both proxy and service tickets could be
validated by the /serviceValidate action.


Question:  are there any security concerns with using the *
Cas20ProtocolValidationSpecification* validation specification?

Thanks
Venka



2009/7/31 Venka Ashtakala <[email protected]>

> Hi everyone,
> I am running into this error when I try to execute a back-channel
> communication between 2 CASified applications:
>
> Ticket failed validation specification. Possible errors could include
> attempting to validate a Proxy Ticket via a Service Ticket validator, or not
> complying with the renew true request.
>
> Some background:
> I've got 2 web applications, P1 and C1, both are CASified and both of them
> have their proxy call back urls defined, both proxy call back urls are
> listening on an HTTPS port, and both of them have valid, non-null PGTs in
> the session.  P1 is trying to do a POST to C1.  P1 is a rails application
> using the *gunark-rubycas-client* while C1 is a Java application using the
> Java CAS Client 3.1.6.  P1 is using the PGT in its session along with the
> target url on C1 to generate a proxy ticket and then is including the proxy
> ticket in the POST to C1.  I can verify this because I see the proxy ticket
> being received by the target url on C1.
>
> What I think is happening is that C1 is thinking this is a service ticket
> and is attempting to validate it in the CAS server by calling the
> /cas/serviceValidate action and serviceValidate is not accepting the ticket
> and giving back the error I identified above.  From doing some reading of
> this document: http://www.jasig.org/cas/protocol it seems that
> /serviceValidate should not be used to validate a proxy ticket, just a
> service ticket.  The CAS Protocol document mentions that there is a
> /proxyValidate function that should be used to validate proxy tickets, but,
> how
>
> So what are my options here?  Any ideas?  Is there a way to differentiate
> between a Proxy Ticket and a Service Ticket?
>
> Thanks for your help,
> Venka
>
> --
> Venka Ashtakala, B.Eng, G.C. Eng
> Venka Ashtakala & Associates
> Software Development Consultants
> Office:  +1-703-596-0287
> Fax:     +1-815-550-1356
> Mobile: +91 9886304317
> [email protected]
>
>


-- 
Venka Ashtakala, B.Eng, G.C. Eng
Venka Ashtakala & Associates
Software Development Consultants
Office:  +1-703-596-0287
Fax:     +1-815-550-1356
Mobile: +91 9886304317
[email protected]

-- 
You are currently subscribed to [email protected] as: 
[email protected]
To unsubscribe, change settings or access archives, see 
http://www.ja-sig.org/wiki/display/JSG/cas-user

Reply via email to