Eric,

I am currently using CAS with web services (Spring Web Services to be
exact but I think the concepts apply for other frameworks as well even
though you might need to do a bit more work). You can get a proxy ticket
that is used to authenticate with the web services, but application
obtaining the proxy has to have been authenticated by CAS and possess a
proxy granting ticket.

You don't have to use a JSP, but you have to obtain credentials from the
user somehow, right? How do you obtain the credentials
(username/password) you will use to authenticate? If you are not
obtaining credentials from a user (e.g. a middle-tier application that
always logs in with some fixed username and password) then I question
the value of using CAS.

In my case, my applications are rich (Flex) clients. When the end user
is authenticated in any of these applications, they request a proxy
granting ticket and then obtain a proxy ticket specifically for the web
services.

The proxy ticket is embedded in a hidden field in the resulting web page
and the Flex client retrieves the proxy ticket from the hidden field and
uses it in calls to the web services (using WS-Security UsernameToken).

The other issue you have to contend with is that CAS tickets are
one-time usage tickets. Since you don't want to authenticate all over
again for each web services call AND since web services are stateless,
you need to cache valid tickets and compare new tickets to the cache
first before going to CAS. Spring Web Services with ACEGI handles this
for you by allowing the username to be _cas_stateless_ in which case
ACEGI checks the cache for a matching ticket first and only validates it
against CAS if not found. For other web services frameworks, I suspect
you might have to implement this particular behavior yourself.

Hope this helps some.

Bill



-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
On Behalf Of Eric Miles
Sent: Thursday, September 27, 2007 3:23 PM
To: cas@tp.its.yale.edu
Subject: Headless CAS?

Can CAS act as a headless authentication mechanism?  I'd like to use CAS

for authenticating web service calls (which are stateless and headless).

  I currently have CAS all wired up with my web application so I 
understand how that works (it works great).  However, I am failing to 
see how I could CASify my web services.  Is it possible to create a CAS 
Ticket via an API as there is no way for these clients to go to a UI and

"login"?  I see numerous "Java Client" examples that show how to 
validate a ticket once in hand, but I see no examples of how to get the 
ticket itself(without logging in through a JSP page).

Thanks,
Eric

_______________________________________________
Yale CAS mailing list
cas@tp.its.yale.edu
http://tp.its.yale.edu/mailman/listinfo/cas
_______________________________________________
Yale CAS mailing list
cas@tp.its.yale.edu
http://tp.its.yale.edu/mailman/listinfo/cas

Reply via email to