Ah, there comes a time in a developers life when the application they develop requires to be actually used and in this particular case I am talking about multiple applications in the eco-system. Now this developer in discussion appears to be an enterprise scale geek. In order to use these applications, people need to be scrutinized by a central or single sign on like security entity. Here comes a Central Authentication Service to rescue your CASe.
I will take you through a set of steps here,
A. Configure CAS single sign on Server on a Tomcat with SSL configured.
B.. Create a service application to actually authenticate with this CAS server and service your request.
C. Generate your SSL trusted certificates so that This CAS Server and your Service application can actually interact
Setup Certificates: The SSL related certificates used for development are self-signed in nature and are restricted to IP on which server and services are running. The keytool command provisioned by the JDK is used for this purpose.
Self-Signed Certificate Setup steps for CAS:
- Configure: https://wiki.jasig.org/display/CASUM/RESTful+API
- Test : Using commons http client
- Get the TicketGrantingTicket from server = "https://localhost:8443/cas/v1/tickets";
- Get the ServiceTicket service = "https://localhost:8443/cas-sample/secure";
- Based on the service ticket GET access to the secured REST API service
D. Certification Path Exception for SSL handshake:
Command: java InstallCert localhost:8443 // Also add trust for the service and cas_server IP
E. Use a Http Test client to authenticate and call the service.